Skip to content

Commit

Permalink
fix session properties
Browse files Browse the repository at this point in the history
  • Loading branch information
llbartekll committed Sep 12, 2024
1 parent 4d8a36d commit 487e34c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 28 deletions.
4 changes: 2 additions & 2 deletions Example/WalletApp/BusinessLayer/SmartAccount.swift
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ class SmartAccount {

let localConfig = YttriumWrapper.Config.local()

let pimlicoBundlerUrl = InputConfig.pimlicoBundlerUrl!
let rpcUrl = InputConfig.rpcUrl!
let pimlicoBundlerUrl = "https://\(InputConfig.pimlicoBundlerUrl!)"
let rpcUrl = "https://\(InputConfig.rpcUrl!)"
let pimlicoSepolia = YttriumWrapper.Config(
endpoints: .init(
rpc: .init(baseURL: rpcUrl),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ final class SessionProposalInteractor {
}


let sessionProperties = getSessionProperties()
let sessionProperties = getSessionProperties(address: smartAccountAddress)
_ = try await WalletKit.instance.approve(proposalId: proposal.id, namespaces: sessionNamespaces, sessionProperties: sessionProperties)
if let uri = proposal.proposer.redirect?.native {
ReownRouter.goBack(uri: uri)
Expand All @@ -56,40 +56,34 @@ final class SessionProposalInteractor {
}
}

private func getSessionProperties() -> [String: String] {
func reject(proposal: Session.Proposal, reason: RejectionReason = .userRejected) async throws {
try await WalletKit.instance.rejectSession(proposalId: proposal.id, reason: .userRejected)
/* Redirect */
if let uri = proposal.proposer.redirect?.native {
ReownRouter.goBack(uri: uri)
}
}

private func getSessionProperties(address: String) -> [String: String] {
let sepoliaAtomicBatchCapability = """
{
"0xaa36a7":{
"atomicBatch":{
"supported":true
"\(address)":{
"0xaa36a7":{
"atomicBatch":{
"supported":true
}
}
}
}
"""
let capabilities = ["capabilities": sepoliaAtomicBatchCapability]

if let capabilitiesData = try? JSONSerialization.data(withJSONObject: capabilities, options: []),
let capabilitiesJSONString = String(data: capabilitiesData, encoding: .utf8) {
let sessionProperties: [String: String] = [
"bundler_name": "pimlico",
"capabilities": sepoliaAtomicBatchCapability
]

// Create the sessionProperties dictionary with the stringified capabilities
let sessionProperties: [String: String] = [
"bundler_name": "pimlico",
"capabilities": capabilitiesJSONString
]

print(sessionProperties)
return sessionProperties
}
return [:]
}

func reject(proposal: Session.Proposal, reason: RejectionReason = .userRejected) async throws {
try await WalletKit.instance.rejectSession(proposalId: proposal.id, reason: .userRejected)
/* Redirect */
if let uri = proposal.proposer.redirect?.native {
ReownRouter.goBack(uri: uri)
}
print(sessionProperties)
return sessionProperties
}
}

0 comments on commit 487e34c

Please sign in to comment.