Skip to content

Commit 59501a7

Browse files
fix not ending ci test (#132)
1 parent 869b042 commit 59501a7

File tree

3 files changed

+66
-105
lines changed

3 files changed

+66
-105
lines changed

demo/extra.cc

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -165,46 +165,44 @@ class UserWalletConnectCallback : public WalletConnectCallback {
165165
public:
166166
UserWalletConnectCallback() {}
167167
virtual ~UserWalletConnectCallback() {}
168-
void onConnected(std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const;
169-
void
170-
onDisconnected(std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const;
171-
void
172-
onConnecting(std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const;
173-
void onUpdated(std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const;
168+
void onConnected(const WalletConnectSessionInfo &sessioninfo) const;
169+
void onDisconnected(const WalletConnectSessionInfo &sessioninfo) const;
170+
void onConnecting(const WalletConnectSessionInfo &sessioninfo) const;
171+
void onUpdated(const WalletConnectSessionInfo &sessioninfo) const;
174172
};
175-
void print_session(std::unique_ptr<WalletConnectSessionInfo> &sessioninfo) {
176-
std::cout << "connected: " << sessioninfo->connected << std::endl;
177-
std::cout << "chain_id: " << sessioninfo->chain_id << std::endl;
173+
void print_session(const WalletConnectSessionInfo &sessioninfo) {
174+
std::cout << "connected: " << sessioninfo.connected << std::endl;
175+
std::cout << "chain_id: " << sessioninfo.chain_id << std::endl;
178176
// iterate over accounts
179-
for (auto &account : sessioninfo->accounts) {
177+
for (auto &account : sessioninfo.accounts) {
180178
std::cout << "account: " << account << std::endl;
181179
}
182-
std::cout << "bridge: " << sessioninfo->bridge << std::endl;
183-
std::cout << "client_id: " << sessioninfo->client_id << std::endl;
184-
std::cout << "client_meta: " << sessioninfo->client_meta << std::endl;
185-
std::cout << "peer_id: " << sessioninfo->peer_id << std::endl;
186-
std::cout << "peer_meta: " << sessioninfo->peer_meta << std::endl;
187-
std::cout << "handshake_topic: " << sessioninfo->handshake_topic << std::endl;
180+
std::cout << "bridge: " << sessioninfo.bridge << std::endl;
181+
std::cout << "client_id: " << sessioninfo.client_id << std::endl;
182+
std::cout << "client_meta: " << sessioninfo.client_meta << std::endl;
183+
std::cout << "peer_id: " << sessioninfo.peer_id << std::endl;
184+
std::cout << "peer_meta: " << sessioninfo.peer_meta << std::endl;
185+
std::cout << "handshake_topic: " << sessioninfo.handshake_topic << std::endl;
188186
}
189187
void UserWalletConnectCallback::onConnected(
190-
std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const {
188+
const WalletConnectSessionInfo &sessioninfo) const {
191189
std::cout << "user c++ onConnected" << std::endl;
192190
print_session(sessioninfo);
193191
}
194192
void UserWalletConnectCallback::onDisconnected(
195-
std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const {
193+
const WalletConnectSessionInfo &sessioninfo) const {
196194
std::cout << "user c++ onDisconnected" << std::endl;
197195
print_session(sessioninfo);
198196
}
199197
void UserWalletConnectCallback::onConnecting(
200-
std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const {
198+
const WalletConnectSessionInfo &sessioninfo) const {
201199
std::cout << "user c++ onConnecting" << std::endl;
202200
print_session(sessioninfo);
203201
// this is testing purpose, comment this line for actual test
204202
exit(0);
205203
}
206204
void UserWalletConnectCallback::onUpdated(
207-
std::unique_ptr<WalletConnectSessionInfo> sessioninfo) const {
205+
const WalletConnectSessionInfo &sessioninfo) const {
208206
std::cout << "user c++ onUpdated" << std::endl;
209207
print_session(sessioninfo);
210208
}

extra-cpp-bindings/include/walletconnectcallback.h

Lines changed: 48 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,54 +6,59 @@ namespace com {
66
namespace crypto {
77
namespace game_sdk {
88

9-
class WalletConnectSessionInfo {
10-
public:
11-
/// if the wallet approved the connection
12-
bool connected;
13-
/// hex-string(0x...), the accounts returned by the wallet
14-
rust::Vec<rust::String> accounts;
15-
/// u64, the chain id returned by the wallet
16-
rust::String chain_id;
17-
/// the bridge server URL
18-
rust::String bridge;
19-
/// the secret key used in encrypting wallet requests
20-
/// and decrypting wallet responses as per WalletConnect 1.0
21-
/// hex-string(0x...), 32 bytes
22-
rust::String key;
23-
/// this is the client's randomly generated ID
24-
rust::String client_id;
25-
/// json, the client metadata (that will be presented to the wallet in the initial request)
26-
rust::String client_meta;
27-
/// uuid, the wallet's ID
28-
rust::String peer_id;
29-
/// json, the wallet's metadata
30-
rust::String peer_meta;
31-
/// uuid, the one-time request ID
32-
rust::String handshake_topic;
9+
class WalletConnectSessionInfo {
10+
public:
11+
/// if the wallet approved the connection
12+
bool connected;
13+
/// hex-string(0x...), the accounts returned by the wallet
14+
rust::Vec<rust::String> accounts;
15+
/// u64, the chain id returned by the wallet
16+
rust::String chain_id;
17+
/// the bridge server URL
18+
rust::String bridge;
19+
/// the secret key used in encrypting wallet requests
20+
/// and decrypting wallet responses as per WalletConnect 1.0
21+
/// hex-string(0x...), 32 bytes
22+
rust::String key;
23+
/// this is the client's randomly generated ID
24+
rust::String client_id;
25+
/// json, the client metadata (that will be presented to the wallet in the
26+
/// initial request)
27+
rust::String client_meta;
28+
/// uuid, the wallet's ID
29+
rust::String peer_id;
30+
/// json, the wallet's metadata
31+
rust::String peer_meta;
32+
/// uuid, the one-time request ID
33+
rust::String handshake_topic;
3334

34-
void set_connected(bool connected) ;
35-
void set_accounts(rust::Vec<rust::String> accounts) ;
36-
void set_chainid(rust::String chainid) ;
37-
void set_bridge(rust::String bridge) ;
38-
void set_key(rust::String key) ;
39-
void set_clientid(rust::String client_id) ;
40-
void set_clientmeta(rust::String client_meta) ;
41-
void set_peerid(rust::String client_id) ;
42-
void set_peermeta(rust::String client_meta) ;
43-
void set_handshaketopic(rust::String handshake_topic) ;
35+
void set_connected(bool connected);
36+
void set_accounts(rust::Vec<rust::String> accounts);
37+
void set_chainid(rust::String chainid);
38+
void set_bridge(rust::String bridge);
39+
void set_key(rust::String key);
40+
void set_clientid(rust::String client_id);
41+
void set_clientmeta(rust::String client_meta);
42+
void set_peerid(rust::String client_id);
43+
void set_peermeta(rust::String client_meta);
44+
void set_handshaketopic(rust::String handshake_topic);
4445
};
4546
std::unique_ptr<WalletConnectSessionInfo> new_walletconnect_sessioninfo();
4647

47-
4848
class WalletConnectCallback {
49-
public:
50-
WalletConnectCallback();
51-
virtual ~WalletConnectCallback();
52-
virtual void onConnected(const WalletConnectSessionInfo& sessioninfo) const;
53-
virtual void onDisconnected(const WalletConnectSessionInfo& sessioninfo) const ;
54-
virtual void onConnecting(const WalletConnectSessionInfo& sessioninfo) const ;
55-
virtual void onUpdated(const WalletConnectSessionInfo& sessioninfo) const;
49+
public:
50+
virtual ~WalletConnectCallback() {} // need virtual to prevent memory leak
51+
// need to pure virtual to prevent incorrect callback
52+
virtual void
53+
onConnected(const WalletConnectSessionInfo &sessioninfo) const = 0;
54+
virtual void
55+
onDisconnected(const WalletConnectSessionInfo &sessioninfo) const = 0;
56+
virtual void
57+
onConnecting(const WalletConnectSessionInfo &sessioninfo) const = 0;
58+
virtual void onUpdated(const WalletConnectSessionInfo &sessioninfo) const = 0;
5659
};
5760

5861
std::unique_ptr<WalletConnectCallback> new_walletconnect_callback();
59-
}}}
62+
} // namespace game_sdk
63+
} // namespace crypto
64+
} // namespace com

extra-cpp-bindings/src/walletconnectcallback.cc

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -51,48 +51,6 @@ void WalletConnectSessionInfo::set_handshaketopic(
5151
handshake_topic = myhandshake_topic;
5252
}
5353

54-
WalletConnectCallback::WalletConnectCallback() {
55-
std::cout << "WalletConnectCallback created" << std::endl;
56-
}
57-
58-
WalletConnectCallback::~WalletConnectCallback() {}
59-
60-
void print_session(const WalletConnectSessionInfo &sessioninfo) {
61-
// print sessioninfo
62-
std::cout << "connected: " << sessioninfo.connected << std::endl;
63-
std::cout << "chain_id: " << sessioninfo.chain_id << std::endl;
64-
// iterate over accounts
65-
for (auto &account : sessioninfo.accounts) {
66-
std::cout << "account: " << account << std::endl;
67-
}
68-
std::cout << "bridge: " << sessioninfo.bridge << std::endl;
69-
std::cout << "client_id: " << sessioninfo.client_id << std::endl;
70-
std::cout << "client_meta: " << sessioninfo.client_meta << std::endl;
71-
std::cout << "peer_id: " << sessioninfo.peer_id << std::endl;
72-
std::cout << "peer_meta: " << sessioninfo.peer_meta << std::endl;
73-
std::cout << "handshake_topic: " << sessioninfo.handshake_topic << std::endl;
74-
}
75-
void WalletConnectCallback::onConnected(
76-
const WalletConnectSessionInfo &sessioninfo) const {
77-
std::cout << "c++ onConnected" << std::endl;
78-
print_session(sessioninfo);
79-
}
80-
void WalletConnectCallback::onDisconnected(
81-
const WalletConnectSessionInfo &sessioninfo) const {
82-
std::cout << "c++ onDisconnected" << std::endl;
83-
print_session(sessioninfo);
84-
}
85-
void WalletConnectCallback::onConnecting(
86-
const WalletConnectSessionInfo &sessioninfo) const {
87-
std::cout << "c++ onConnecting" << std::endl;
88-
print_session(sessioninfo);
89-
}
90-
void WalletConnectCallback::onUpdated(
91-
const WalletConnectSessionInfo &sessioninfo) const {
92-
std::cout << "c++ onUpdated" << std::endl;
93-
print_session(sessioninfo);
94-
}
95-
9654
} // namespace game_sdk
9755
} // namespace crypto
9856
} // namespace com

0 commit comments

Comments
 (0)