toss-expo-sdk 0.1.2 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +380 -25
  2. package/lib/module/ble.js +59 -4
  3. package/lib/module/ble.js.map +1 -1
  4. package/lib/module/client/BLETransactionHandler.js +277 -0
  5. package/lib/module/client/BLETransactionHandler.js.map +1 -0
  6. package/lib/module/client/NonceAccountManager.js +364 -0
  7. package/lib/module/client/NonceAccountManager.js.map +1 -0
  8. package/lib/module/client/TossClient.js +1 -1
  9. package/lib/module/client/TossClient.js.map +1 -1
  10. package/lib/module/examples/enhancedFeaturesFlow.js +233 -0
  11. package/lib/module/examples/enhancedFeaturesFlow.js.map +1 -0
  12. package/lib/module/examples/offlinePaymentFlow.js +27 -27
  13. package/lib/module/examples/offlinePaymentFlow.js.map +1 -1
  14. package/lib/module/hooks/useOfflineBLETransactions.js +314 -0
  15. package/lib/module/hooks/useOfflineBLETransactions.js.map +1 -0
  16. package/lib/module/index.js +18 -8
  17. package/lib/module/index.js.map +1 -1
  18. package/lib/module/intent.js +129 -0
  19. package/lib/module/intent.js.map +1 -1
  20. package/lib/module/noise.js +175 -0
  21. package/lib/module/noise.js.map +1 -1
  22. package/lib/module/qr.js +2 -2
  23. package/lib/module/reconciliation.js +155 -0
  24. package/lib/module/reconciliation.js.map +1 -1
  25. package/lib/module/services/authService.js +166 -3
  26. package/lib/module/services/authService.js.map +1 -1
  27. package/lib/module/storage/secureStorage.js +102 -0
  28. package/lib/module/storage/secureStorage.js.map +1 -1
  29. package/lib/module/sync.js +25 -1
  30. package/lib/module/sync.js.map +1 -1
  31. package/lib/module/types/nonceAccount.js +2 -0
  32. package/lib/module/types/nonceAccount.js.map +1 -0
  33. package/lib/module/types/tossUser.js +16 -1
  34. package/lib/module/types/tossUser.js.map +1 -1
  35. package/lib/module/utils/compression.js +210 -0
  36. package/lib/module/utils/compression.js.map +1 -0
  37. package/lib/module/wifi.js +311 -0
  38. package/lib/module/wifi.js.map +1 -0
  39. package/lib/typescript/src/__tests__/solana-program-simple.test.d.ts +8 -0
  40. package/lib/typescript/src/__tests__/solana-program-simple.test.d.ts.map +1 -0
  41. package/lib/typescript/src/ble.d.ts +31 -2
  42. package/lib/typescript/src/ble.d.ts.map +1 -1
  43. package/lib/typescript/src/client/BLETransactionHandler.d.ts +98 -0
  44. package/lib/typescript/src/client/BLETransactionHandler.d.ts.map +1 -0
  45. package/lib/typescript/src/client/NonceAccountManager.d.ts +82 -0
  46. package/lib/typescript/src/client/NonceAccountManager.d.ts.map +1 -0
  47. package/lib/typescript/src/examples/enhancedFeaturesFlow.d.ts +45 -0
  48. package/lib/typescript/src/examples/enhancedFeaturesFlow.d.ts.map +1 -0
  49. package/lib/typescript/src/hooks/useOfflineBLETransactions.d.ts +91 -0
  50. package/lib/typescript/src/hooks/useOfflineBLETransactions.d.ts.map +1 -0
  51. package/lib/typescript/src/index.d.ts +11 -4
  52. package/lib/typescript/src/index.d.ts.map +1 -1
  53. package/lib/typescript/src/intent.d.ts +15 -0
  54. package/lib/typescript/src/intent.d.ts.map +1 -1
  55. package/lib/typescript/src/noise.d.ts +62 -0
  56. package/lib/typescript/src/noise.d.ts.map +1 -1
  57. package/lib/typescript/src/reconciliation.d.ts +6 -0
  58. package/lib/typescript/src/reconciliation.d.ts.map +1 -1
  59. package/lib/typescript/src/services/authService.d.ts +26 -1
  60. package/lib/typescript/src/services/authService.d.ts.map +1 -1
  61. package/lib/typescript/src/storage/secureStorage.d.ts +16 -0
  62. package/lib/typescript/src/storage/secureStorage.d.ts.map +1 -1
  63. package/lib/typescript/src/sync.d.ts +6 -1
  64. package/lib/typescript/src/sync.d.ts.map +1 -1
  65. package/lib/typescript/src/types/nonceAccount.d.ts +59 -0
  66. package/lib/typescript/src/types/nonceAccount.d.ts.map +1 -0
  67. package/lib/typescript/src/types/tossUser.d.ts +16 -0
  68. package/lib/typescript/src/types/tossUser.d.ts.map +1 -1
  69. package/lib/typescript/src/utils/compression.d.ts +52 -0
  70. package/lib/typescript/src/utils/compression.d.ts.map +1 -0
  71. package/lib/typescript/src/wifi.d.ts +116 -0
  72. package/lib/typescript/src/wifi.d.ts.map +1 -0
  73. package/package.json +1 -1
  74. package/src/__tests__/solana-program-simple.test.ts +256 -0
  75. package/src/ble.ts +105 -4
  76. package/src/client/BLETransactionHandler.ts +364 -0
  77. package/src/client/NonceAccountManager.ts +444 -0
  78. package/src/client/TossClient.ts +1 -1
  79. package/src/examples/enhancedFeaturesFlow.ts +272 -0
  80. package/src/examples/offlinePaymentFlow.ts +27 -27
  81. package/src/hooks/useOfflineBLETransactions.ts +438 -0
  82. package/src/index.tsx +52 -6
  83. package/src/intent.ts +166 -0
  84. package/src/noise.ts +238 -0
  85. package/src/qr.tsx +2 -2
  86. package/src/reconciliation.ts +184 -0
  87. package/src/services/authService.ts +190 -3
  88. package/src/storage/secureStorage.ts +138 -0
  89. package/src/sync.ts +40 -0
  90. package/src/types/nonceAccount.ts +75 -0
  91. package/src/types/tossUser.ts +35 -2
  92. package/src/utils/compression.ts +247 -0
  93. package/src/wifi.ts +401 -0
@@ -1 +1 @@
1
- {"version":3,"names":["Connection","PublicKey","createIntent","secureStoreIntent","getSecureIntent","getAllSecureIntents","processIntentsForSync","TossError","NetworkError","StorageError","ERROR_CODES","createNonceAccount","getNonce","syncToChain","checkSyncStatus","detectConflicts","getReconciliationState","DEFAULT_RETRY_OPTIONS","maxRetries","retryDelay","TossClient","createClient","config","constructor","projectId","mode","privateTransactions","provider","sync","syncBackupDb","rpcUrl","getDefaultRpcUrl","feePayer","connection","network","urls","devnet","withRetry","fn","context","lastError","attempt","error","delay","Math","pow","Promise","resolve","setTimeout","message","cause","initializeNonceAccount","amount","Error","nonceAccount","nonceAuth","undefined","publicKey","toBase58","getCurrentNonce","sender","recipient","options","NETWORK_ERROR","SIGNATURE_VERIFICATION_FAILED","senderKeypair","recipientPubkey","feePayerPubkey","useDurableNonce","getLatestBlockhash","intent","TRANSACTION_FAILED","getIntents","updateIntentStatus","intentId","status","updatedAt","Date","now","updatedIntent","err","intents","dbUrl","processedIntents","all","map","fullSync","detectIntentConflicts","getReconciliationStatus","createUserIntent","memo","getCurrentUserAddress","isWalletUnlocked","lockWallet","signOut"],"sourceRoot":"../../../src","sources":["client/TossClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Connection","PublicKey","createIntent","secureStoreIntent","getSecureIntent","getAllSecureIntents","processIntentsForSync","TossError","NetworkError","StorageError","ERROR_CODES","createNonceAccount","getNonce","syncToChain","checkSyncStatus","detectConflicts","getReconciliationState","DEFAULT_RETRY_OPTIONS","maxRetries","retryDelay","TossClient","createClient","config","constructor","projectId","mode","privateTransactions","provider","sync","syncBackupDb","rpcUrl","getDefaultRpcUrl","feePayer","connection","network","urls","devnet","withRetry","fn","context","lastError","attempt","error","delay","Math","pow","Promise","resolve","setTimeout","message","cause","initializeNonceAccount","amount","Error","nonceAccount","nonceAuth","undefined","publicKey","toBase58","getCurrentNonce","sender","recipient","options","NETWORK_ERROR","SIGNATURE_VERIFICATION_FAILED","senderKeypair","recipientPubkey","feePayerPubkey","useDurableNonce","getLatestBlockhash","intent","TRANSACTION_FAILED","getIntents","updateIntentStatus","intentId","status","updatedAt","Date","now","updatedIntent","err","intents","dbUrl","processedIntents","all","map","fullSync","detectIntentConflicts","getReconciliationStatus","createUserIntent","memo","getCurrentUserAddress","isWalletUnlocked","lockWallet","signOut"],"sourceRoot":"../../../src","sources":["client/TossClient.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Complete Example: Enhanced TOSS Flow with Compression, Incentives & WiFi
5
+ *
6
+ * Demonstrates:
7
+ * 1. Compression of intent metadata
8
+ * 2. Smart transport selection (WiFi > BLE)
9
+ * 3. Relay incentive tracking
10
+ * 4. Mesh clustering for optimal routing
11
+ */
12
+
13
+ import { Keypair } from '@solana/web3.js';
14
+ import { createIntent, SmartTransportSelector, compressIntentMetadata, decompressIntentMetadata } from 'toss-expo-sdk';
15
+
16
+ /**
17
+ * Example 1: Metadata Compression Flow
18
+ *
19
+ * Compress large memo text before transmission
20
+ */
21
+ export async function exampleCompressedIntentFlow(sender, recipient, amount, connection) {
22
+ console.log('\nExample 1: Compressed Intent Flow\n');
23
+
24
+ // Step 1: Create intent
25
+ const intent = await createIntent(sender, recipient, amount, connection);
26
+
27
+ // Step 2: Create metadata with long memo
28
+ const metadata = {
29
+ memo: 'Payment for services rendered during Q4 2025. This is a longer memo that benefits from compression',
30
+ recipientName: 'Alice Smith',
31
+ transactionType: 'service-payment'
32
+ };
33
+
34
+ // Step 3: Compress metadata
35
+ const {
36
+ compressed,
37
+ savings
38
+ } = await compressIntentMetadata(metadata);
39
+ console.log(`Compressed metadata: ${savings}% smaller`);
40
+ console.log(` Original size: ${JSON.stringify(metadata).length} bytes`);
41
+ console.log(` Compressed size: ${JSON.stringify(compressed).length} bytes`);
42
+
43
+ // Step 4: Store/transmit compressed version
44
+ const transmissionPayload = {
45
+ intent,
46
+ metadata: compressed
47
+ };
48
+ console.log(`\n Transmission payload:`, {
49
+ intentSize: JSON.stringify(intent).length,
50
+ metadataSize: JSON.stringify(compressed).length,
51
+ total: JSON.stringify(transmissionPayload).length
52
+ });
53
+
54
+ // Step 5: On receive, decompress
55
+ const received = await decompressIntentMetadata(compressed);
56
+ console.log(`\nDecompressed metadata:`, received);
57
+ console.log(' Verification: Matches original:', JSON.stringify(received) === JSON.stringify(metadata));
58
+ }
59
+
60
+ /**
61
+ * Example 2: Smart Transport Selection
62
+ *
63
+ * Automatically choose WiFi Direct if available, fallback to BLE
64
+ */
65
+ export async function exampleSmartTransportFlow() {
66
+ console.log('\n Example 2: Smart Transport Selection\n');
67
+ const selector = new SmartTransportSelector();
68
+ const selectedTransport = await selector.selectTransport();
69
+ console.log(`Selected transport: ${selectedTransport}`);
70
+ if (selectedTransport === 'wifi') {
71
+ console.log(' Benefits:');
72
+ console.log(' • MTU: 1200 bytes (vs BLE 480 bytes)');
73
+ console.log(' • Speed: ~2.5x faster');
74
+ console.log(' • Ideal for bulk transfers');
75
+ } else {
76
+ console.log(' Benefits:');
77
+ console.log(' • Widely compatible');
78
+ console.log(' • Lower power than WiFi');
79
+ console.log(' • Sufficient for most intents');
80
+ }
81
+ const shouldUseWiFi = await selector.shouldUseWiFi(false);
82
+ console.log(`\nWiFi Direct recommended: ${shouldUseWiFi}`);
83
+ }
84
+
85
+ /**
86
+ * Example 3: Relay Incentive Tracking
87
+ *
88
+ * Calculate and track rewards for devices relaying transactions
89
+ */
90
+ export async function exampleRelayIncentiveFlow() {
91
+ console.log('\nExample 3: Relay Incentive Tracking\n');
92
+
93
+ // Simulate relay path: Device A → Device B → Device C → Gateway
94
+ const relayPath = ['deviceB_address_here', 'deviceC_address_here', 'gateway_address_here'];
95
+
96
+ // Step 1: Calculate rewards for each relay (in production)
97
+ // const rewards = calculateRelayRewards(relayPath);
98
+ const rewardPerRelay = 1000; // 1000 lamports per relay per hop
99
+
100
+ console.log('Relay reward structure:');
101
+ for (let i = 0; i < relayPath.length; i++) {
102
+ console.log(` ${relayPath[i]}: ${rewardPerRelay * (relayPath.length - i)} lamports`);
103
+ }
104
+
105
+ // Step 2: Track which relays contributed
106
+ const totalReward = relayPath.length * rewardPerRelay;
107
+ console.log(`\nTotal rewards distributed: ${totalReward} lamports`);
108
+
109
+ // Step 3: In production, after successful settlement:
110
+ // await trackRelayContribution('intent-id', relayPath, connection, feePayer);
111
+ console.log('\nRelay contributions tracked for future settlement');
112
+ console.log(' (In production, rewards would be transferred onchain)');
113
+ }
114
+
115
+ /**
116
+ * Example 4: Mesh Clustering & Smart Routing
117
+ *
118
+ * Use signal strength to form clusters and find optimal paths
119
+ */
120
+ export async function exampleMeshClusteringFlow() {
121
+ console.log('\nExample 4: Mesh Clustering & Smart Routing\n');
122
+
123
+ // Step 1: Detect clusters (in production, would use actual device discovery)
124
+ console.log('Detected 3 clusters:');
125
+ console.log(' Cluster A: 5 devices');
126
+ console.log(' Cluster B: 3 devices');
127
+ console.log(' Cluster C: 2 devices');
128
+
129
+ // Step 2: Find optimal route to target
130
+ const targetDeviceId = 'target-device-123';
131
+ console.log(`\nOptimal route to ${targetDeviceId}:`);
132
+ console.log(' Multi-hop path (2 hops):');
133
+ console.log(' 0: relay-1');
134
+ console.log(' 1: target-device-123');
135
+
136
+ // Step 3: Track relay performance (in production)
137
+ console.log('\nRelay performance tracking:');
138
+ console.log(' Relay 1 score: 95/100 (fast & reliable)');
139
+ console.log(' Relay 2 score: 72/100 (slower)');
140
+ console.log(' Relay 3 score: 45/100 (failed recently)');
141
+
142
+ // Step 4: Select best relay
143
+ console.log('\nBest relay selected: relay-1');
144
+ }
145
+
146
+ /**
147
+ * Example 5: Complete Production Flow
148
+ *
149
+ * Integrates compression + WiFi transport + incentives + optimal routing
150
+ */
151
+ export async function exampleCompleteEnhancedFlow(sender, recipient, amount, connection, _feePayer) {
152
+ console.log('\n Example 5: Complete Enhanced TOSS Flow\n');
153
+
154
+ // Phase 1: Creation (offline)
155
+ console.log('Phase 1: Intent Creation (Offline)\n');
156
+ const intent = await createIntent(sender, recipient, amount, connection);
157
+ console.log(' Intent created and signed');
158
+ const metadata = {
159
+ memo: 'Complete flow demonstration',
160
+ timestamp: new Date().toISOString()
161
+ };
162
+ const {
163
+ compressed,
164
+ savings
165
+ } = await compressIntentMetadata(metadata);
166
+ console.log(` Metadata compressed (${savings}% savings)`);
167
+
168
+ // Phase 2: Transport (intelligent selection)
169
+ console.log('\nPhase 2: Intelligent Transport Selection\n');
170
+ const selector = new SmartTransportSelector();
171
+ const transport = await selector.selectTransport();
172
+ console.log(` Selected transport: ${transport.toUpperCase()}`);
173
+
174
+ // Phase 3: Routing (cluster-based optimization)
175
+ console.log('\nPhase 3: Optimal Path Finding\n');
176
+ const clusterCount = 3;
177
+ console.log(` Found ${clusterCount} network clusters`);
178
+ const relayPath = ['relay-1', 'relay-2'];
179
+ console.log(` Route: ${relayPath.length} hops to destination`);
180
+
181
+ // Phase 4: Incentive tracking
182
+ console.log('\nPhase 4: Relay Incentive Setup\n');
183
+ const rewardPerRelay = 1000;
184
+ const totalReward = relayPath.length * rewardPerRelay;
185
+ console.log(` Reward pool: ${totalReward} lamports for ${relayPath.length} relays`);
186
+
187
+ // Phase 5: Transmission
188
+ console.log('\nPhase 5: Intent Transmission\n');
189
+ const payloadSize = JSON.stringify({
190
+ intent,
191
+ metadata: compressed
192
+ }).length;
193
+ console.log(` Payload size: ${payloadSize} bytes`);
194
+ console.log(` MTU: ${transport === 'wifi' ? '1200' : '480'} bytes`);
195
+ const fragments = Math.ceil(payloadSize / (transport === 'wifi' ? 1200 : 480));
196
+ console.log(` Fragments: ${fragments} (optimized)`);
197
+
198
+ // Phase 6: Settlement (when online)
199
+ console.log('\nPhase 6: Settlement (When Online)\n');
200
+ console.log(' Intent ready for settlement');
201
+ console.log(' • Signature verified: YES');
202
+ console.log(' • Metadata decompressed: YES');
203
+ console.log(' • Relayers identified: YES');
204
+ console.log(` • Rewards tracked: ${totalReward} lamports`);
205
+ console.log('\n Complete flow ready for production deployment');
206
+ }
207
+
208
+ /**
209
+ * Run all examples
210
+ */
211
+ export async function runAllExamples(connection) {
212
+ console.log('═══════════════════════════════════════════════════════════');
213
+ console.log(' TOSS Enhanced Features - Complete Examples');
214
+ console.log('═══════════════════════════════════════════════════════════');
215
+
216
+ // Create test keypairs
217
+ const sender = Keypair.generate();
218
+ const recipient = Keypair.generate().publicKey;
219
+ const feePayer = Keypair.generate().publicKey;
220
+ try {
221
+ await exampleCompressedIntentFlow(sender, recipient, 1000000, connection);
222
+ await exampleSmartTransportFlow();
223
+ await exampleRelayIncentiveFlow();
224
+ await exampleMeshClusteringFlow();
225
+ await exampleCompleteEnhancedFlow(sender, recipient, 1000000, connection, feePayer);
226
+ console.log('\n═══════════════════════════════════════════════════════════');
227
+ console.log(' All examples completed successfully!');
228
+ console.log('═══════════════════════════════════════════════════════════\n');
229
+ } catch (error) {
230
+ console.error(' Example failed:', error);
231
+ }
232
+ }
233
+ //# sourceMappingURL=enhancedFeaturesFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Keypair","createIntent","SmartTransportSelector","compressIntentMetadata","decompressIntentMetadata","exampleCompressedIntentFlow","sender","recipient","amount","connection","console","log","intent","metadata","memo","recipientName","transactionType","compressed","savings","JSON","stringify","length","transmissionPayload","intentSize","metadataSize","total","received","exampleSmartTransportFlow","selector","selectedTransport","selectTransport","shouldUseWiFi","exampleRelayIncentiveFlow","relayPath","rewardPerRelay","i","totalReward","exampleMeshClusteringFlow","targetDeviceId","exampleCompleteEnhancedFlow","_feePayer","timestamp","Date","toISOString","transport","toUpperCase","clusterCount","payloadSize","fragments","Math","ceil","runAllExamples","generate","publicKey","feePayer","error"],"sourceRoot":"../../../src","sources":["examples/enhancedFeaturesFlow.ts"],"mappings":"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","ignoreList":[]}
@@ -25,7 +25,7 @@ import { TossError } from "../errors.js";
25
25
  * Intent creation validates user features and transaction limits
26
26
  */
27
27
  export async function exampleInitiateUserPayment(senderUser, senderKeypair, recipientUser, amountLamports, connection) {
28
- console.log('📝 Creating offline payment intent between TOSS users...');
28
+ console.log(' Creating offline payment intent between TOSS users...');
29
29
  console.log(` From: @${senderUser.username}`);
30
30
  console.log(` To: @${recipientUser.username}`);
31
31
 
@@ -33,13 +33,13 @@ export async function exampleInitiateUserPayment(senderUser, senderKeypair, reci
33
33
  const intent = await createUserIntent(senderUser, senderKeypair, recipientUser, amountLamports, connection, {
34
34
  expiresIn: 24 * 60 * 60 // Valid for 24 hours
35
35
  });
36
- console.log(`✅ Intent created: ${intent.id}`);
36
+ console.log(` Intent created: ${intent.id}`);
37
37
  console.log(` Amount: ${intent.amount} lamports`);
38
38
  console.log(` Expires at: ${new Date(intent.expiry * 1000).toISOString()}`);
39
39
 
40
40
  // Store locally
41
41
  await secureStoreIntent(intent);
42
- console.log('💾 Intent stored securely locally\n');
42
+ console.log(' Intent stored securely locally\n');
43
43
  return intent;
44
44
  }
45
45
 
@@ -50,13 +50,13 @@ export async function exampleInitiateUserPayment(senderUser, senderKeypair, reci
50
50
  * while offline. The intent is created, signed, and stored locally.
51
51
  */
52
52
  export async function exampleInitiateOfflinePayment(senderKeypair, recipientAddress, amountLamports, connection) {
53
- console.log('📝 Creating offline payment intent...');
53
+ console.log(' Creating offline payment intent...');
54
54
 
55
55
  // Create the intent (this is done offline, no network needed)
56
56
  const intent = await createIntent(senderKeypair, new PublicKey(recipientAddress), amountLamports, connection, {
57
57
  expiresIn: 24 * 60 * 60 // Valid for 24 hours
58
58
  });
59
- console.log(`✅ Intent created: ${intent.id}`);
59
+ console.log(` Intent created: ${intent.id}`);
60
60
  console.log(` From: ${intent.from}`);
61
61
  console.log(` To: ${intent.to}`);
62
62
  console.log(` Amount: ${intent.amount} lamports`);
@@ -64,7 +64,7 @@ export async function exampleInitiateOfflinePayment(senderKeypair, recipientAddr
64
64
 
65
65
  // Store locally
66
66
  await secureStoreIntent(intent);
67
- console.log('💾 Intent stored securely locally\n');
67
+ console.log(' Intent stored securely locally\n');
68
68
  return intent;
69
69
  }
70
70
 
@@ -75,18 +75,18 @@ export async function exampleInitiateOfflinePayment(senderKeypair, recipientAddr
75
75
  * This demonstrates the intent exchange protocol.
76
76
  */
77
77
  export async function exampleExchangeIntentWithPeer(intent, localDeviceId, peerDeviceId, peerDevice) {
78
- console.log('📡 Initiating intent exchange with peer...');
78
+ console.log(' Initiating intent exchange with peer...');
79
79
  console.log(` Local Device: ${localDeviceId}`);
80
80
  console.log(` Peer Device: ${peerDeviceId}`);
81
81
 
82
82
  // Register the peer
83
83
  deviceDiscovery.registerPeer(peerDevice);
84
- console.log(`✅ Peer registered: ${peerDevice.id}`);
84
+ console.log(` Peer registered: ${peerDevice.id}`);
85
85
 
86
86
  // Create an exchange request
87
87
  const exchangeRequest = intentExchange.createRequest(intent, localDeviceId, undefined, 5 * 60 // 5 minute expiry
88
88
  );
89
- console.log(`📨 Exchange request created: ${exchangeRequest.requestId}`);
89
+ console.log(` Exchange request created: ${exchangeRequest.requestId}`);
90
90
  console.log(` Intent ID: ${intent.id}`);
91
91
  console.log(` Amount: ${intent.amount} lamports`);
92
92
 
@@ -95,7 +95,7 @@ export async function exampleExchangeIntentWithPeer(intent, localDeviceId, peerD
95
95
 
96
96
  // Simulate peer accepting the request
97
97
  const response = intentExchange.createResponse(exchangeRequest.requestId, peerDeviceId, 'accepted', undefined, [intent.id]);
98
- console.log(`\n Peer accepted exchange`);
98
+ console.log(`\n Peer accepted exchange`);
99
99
  console.log(` Status: ${response.status}`);
100
100
  console.log(` Acknowledged intents: ${response.acknowledgedIntentIds?.join(', ')}\n`);
101
101
 
@@ -109,7 +109,7 @@ export async function exampleExchangeIntentWithPeer(intent, localDeviceId, peerD
109
109
  * multiple offline devices create intents for the same action.
110
110
  */
111
111
  export async function exampleMultiDeviceConflict(connection) {
112
- console.log('🔄 Simulating multi-device conflict scenario...\n');
112
+ console.log(' Simulating multi-device conflict scenario...\n');
113
113
 
114
114
  // Create keypair for "Device A"
115
115
  const senderKeypair = Keypair.generate();
@@ -129,7 +129,7 @@ export async function exampleMultiDeviceConflict(connection) {
129
129
  recipient, amount, connection, {
130
130
  expiresIn: 3600
131
131
  });
132
- console.log(' Conflict Detected!');
132
+ console.log(' Conflict Detected!');
133
133
  console.log(` Device A created intent: ${intentA.id} at ${intentA.createdAt}`);
134
134
  console.log(` Device B created intent: ${intentB.id} at ${intentB.createdAt}`);
135
135
  console.log(` Both intents: Same sender, same recipient, same amount\n`);
@@ -137,7 +137,7 @@ export async function exampleMultiDeviceConflict(connection) {
137
137
  // Use the conflict resolver
138
138
  const conflictingIntents = [intentA, intentB];
139
139
  const resolution = MultiDeviceConflictResolver.resolveConflicts(conflictingIntents);
140
- console.log('⚖️ Deterministic Resolution Applied:');
140
+ console.log(' Deterministic Resolution Applied:');
141
141
  console.log(` Winner: ${resolution.winner.id}`);
142
142
  console.log(` Winner nonce: ${resolution.winner.nonce}`);
143
143
  console.log(` Winner timestamp: ${new Date(resolution.winner.createdAt * 1000).toISOString()}`);
@@ -152,7 +152,7 @@ export async function exampleMultiDeviceConflict(connection) {
152
152
  */
153
153
  export async function exampleCompleteOfflineFlow(senderKeypair, recipientAddress, amountLamports, connection) {
154
154
  console.log('='.repeat(60));
155
- console.log('🚀 TOSS Complete Offline Payment Flow');
155
+ console.log(' TOSS Complete Offline Payment Flow');
156
156
  console.log('='.repeat(60) + '\n');
157
157
  try {
158
158
  // Step 1: Create intent offline
@@ -176,18 +176,18 @@ export async function exampleCompleteOfflineFlow(senderKeypair, recipientAddress
176
176
  // Step 3: Device reconnects and initiates synchronisation
177
177
  console.log('STEP 3: Synchronisation with Solana');
178
178
  console.log('-'.repeat(60));
179
- console.log('📱 Device reconnected to network...');
180
- console.log('🔄 Initiating sync with Solana blockchain...\n');
179
+ console.log(' Device reconnected to network...');
180
+ console.log(' Initiating sync with Solana blockchain...\n');
181
181
 
182
182
  // Check sync status
183
183
  const syncResult = await syncToChain(connection);
184
- console.log('📊 Sync Results:');
184
+ console.log(' Sync Results:');
185
185
  console.log(` Successful settlements: ${syncResult.successfulSettlements.length}`);
186
186
  console.log(` Failed settlements: ${syncResult.failedSettlements.length}`);
187
187
  console.log(` Detected conflicts: ${syncResult.detectedConflicts.length}`);
188
188
  console.log(` Overall complete: ${syncResult.isComplete}\n`);
189
189
  if (syncResult.successfulSettlements.length > 0) {
190
- console.log(' Successful Settlements:');
190
+ console.log(' Successful Settlements:');
191
191
  for (const settlement of syncResult.successfulSettlements) {
192
192
  console.log(` Intent ${settlement.intentId}`);
193
193
  console.log(` Signature: ${settlement.signature}`);
@@ -196,7 +196,7 @@ export async function exampleCompleteOfflineFlow(senderKeypair, recipientAddress
196
196
  console.log();
197
197
  }
198
198
  if (syncResult.failedSettlements.length > 0) {
199
- console.log(' Failed Settlements:');
199
+ console.log(' Failed Settlements:');
200
200
  for (const settlement of syncResult.failedSettlements) {
201
201
  console.log(` Intent ${settlement.intentId}`);
202
202
  console.log(` Reason: ${settlement.error}`);
@@ -204,7 +204,7 @@ export async function exampleCompleteOfflineFlow(senderKeypair, recipientAddress
204
204
  console.log();
205
205
  }
206
206
  if (syncResult.detectedConflicts.length > 0) {
207
- console.log('⚠️ Detected Conflicts:');
207
+ console.log(' Detected Conflicts:');
208
208
  for (const conflict of syncResult.detectedConflicts) {
209
209
  console.log(` Intent ${conflict.intentId}: ${conflict.conflict}`);
210
210
  }
@@ -217,14 +217,14 @@ export async function exampleCompleteOfflineFlow(senderKeypair, recipientAddress
217
217
  const allIntents = await getAllSecureIntents();
218
218
  const settledIntents = allIntents.filter(i => i.status === 'settled');
219
219
  const failedIntents = allIntents.filter(i => i.status === 'failed');
220
- console.log(`📦 Intent Storage:
220
+ console.log(` Intent Storage:
221
221
  Total intents: ${allIntents.length}
222
222
  Settled: ${settledIntents.length}
223
223
  Failed: ${failedIntents.length}\n`);
224
- console.log(' Flow complete!\n');
224
+ console.log(' Flow complete!\n');
225
225
  console.log('='.repeat(60));
226
226
  } catch (error) {
227
- console.error(' Error during offline flow:', error);
227
+ console.error(' Error during offline flow:', error);
228
228
  if (error instanceof TossError) {
229
229
  console.error(` Error code: ${error.code}`);
230
230
  }
@@ -238,21 +238,21 @@ export async function exampleCompleteOfflineFlow(senderKeypair, recipientAddress
238
238
  * before accepting and storing them.
239
239
  */
240
240
  export async function exampleVerifyIntentBeforeAcceptance(intent, connection) {
241
- console.log('🔐 Verifying intent signature...');
241
+ console.log(' Verifying intent signature...');
242
242
  try {
243
243
  const isValid = await verifyIntent(intent, connection);
244
244
  if (isValid) {
245
- console.log(' Intent signature is valid');
245
+ console.log(' Intent signature is valid');
246
246
  console.log(` From: ${intent.from}`);
247
247
  console.log(` To: ${intent.to}`);
248
248
  console.log(` Amount: ${intent.amount} lamports`);
249
249
  return true;
250
250
  } else {
251
- console.log(' Intent signature is invalid');
251
+ console.log(' Intent signature is invalid');
252
252
  return false;
253
253
  }
254
254
  } catch (error) {
255
- console.error(' Verification failed:', error);
255
+ console.error(' Verification failed:', error);
256
256
  return false;
257
257
  }
258
258
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Keypair","PublicKey","createUserIntent","createIntent","verifyIntent","secureStoreIntent","getAllSecureIntents","deviceDiscovery","intentExchange","MultiDeviceConflictResolver","syncToChain","TossError","exampleInitiateUserPayment","senderUser","senderKeypair","recipientUser","amountLamports","connection","console","log","username","intent","expiresIn","id","amount","Date","expiry","toISOString","exampleInitiateOfflinePayment","recipientAddress","from","to","exampleExchangeIntentWithPeer","localDeviceId","peerDeviceId","peerDevice","registerPeer","exchangeRequest","createRequest","undefined","requestId","response","createResponse","status","acknowledgedIntentIds","join","exampleMultiDeviceConflict","generate","recipient","intentA","Promise","resolve","setTimeout","intentB","createdAt","conflictingIntents","resolution","resolveConflicts","winner","nonce","losers","map","i","exampleCompleteOfflineFlow","repeat","lastSeen","now","transport","signalStrength","trustScore","syncResult","successfulSettlements","length","failedSettlements","detectedConflicts","isComplete","settlement","intentId","signature","timestamp","error","conflict","allIntents","settledIntents","filter","failedIntents","code","exampleVerifyIntentBeforeAcceptance","isValid"],"sourceRoot":"../../../src","sources":["examples/offlinePaymentFlow.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Keypair","PublicKey","createUserIntent","createIntent","verifyIntent","secureStoreIntent","getAllSecureIntents","deviceDiscovery","intentExchange","MultiDeviceConflictResolver","syncToChain","TossError","exampleInitiateUserPayment","senderUser","senderKeypair","recipientUser","amountLamports","connection","console","log","username","intent","expiresIn","id","amount","Date","expiry","toISOString","exampleInitiateOfflinePayment","recipientAddress","from","to","exampleExchangeIntentWithPeer","localDeviceId","peerDeviceId","peerDevice","registerPeer","exchangeRequest","createRequest","undefined","requestId","response","createResponse","status","acknowledgedIntentIds","join","exampleMultiDeviceConflict","generate","recipient","intentA","Promise","resolve","setTimeout","intentB","createdAt","conflictingIntents","resolution","resolveConflicts","winner","nonce","losers","map","i","exampleCompleteOfflineFlow","repeat","lastSeen","now","transport","signalStrength","trustScore","syncResult","successfulSettlements","length","failedSettlements","detectedConflicts","isComplete","settlement","intentId","signature","timestamp","error","conflict","allIntents","settledIntents","filter","failedIntents","code","exampleVerifyIntentBeforeAcceptance","isValid"],"sourceRoot":"../../../src","sources":["examples/offlinePaymentFlow.ts"],"mappings":"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","ignoreList":[]}