@alien_org/contract 1.0.0-alpha → 1.1.1-alpha

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.
package/dist/index.cjs CHANGED
@@ -21,13 +21,14 @@ const releases = {
21
21
  "haptic:notification",
22
22
  "haptic:selection"
23
23
  ],
24
- "0.3.0": [
24
+ "1.0.0": [
25
25
  "wallet.solana:connect",
26
26
  "wallet.solana:disconnect",
27
27
  "wallet.solana:sign.transaction",
28
28
  "wallet.solana:sign.message",
29
29
  "wallet.solana:sign.send"
30
- ]
30
+ ],
31
+ "1.1.0": ["fullscreen:request", "fullscreen:exit"]
31
32
  };
32
33
 
33
34
  //#endregion
@@ -104,7 +105,7 @@ function getMethodMinVersion(method) {
104
105
  * }
105
106
  * ```
106
107
  *
107
- * @since 0.3.0
108
+ * @since 1.0.0
108
109
  */
109
110
  const WALLET_ERROR = {
110
111
  USER_REJECTED: 5e3,
package/dist/index.d.cts CHANGED
@@ -87,6 +87,14 @@ type PaymentWebhookStatus = 'finalized' | 'failed';
87
87
  * @schema
88
88
  */
89
89
  type PaymentTestScenario = 'paid' | 'paid:failed' | 'cancelled' | `error:${PaymentErrorCode}`;
90
+ /**
91
+ * Fullscreen error codes.
92
+ * Returned in `fullscreen:failed` event when fullscreen request fails.
93
+ * - `ALREADY_FULLSCREEN`: Miniapp is already in fullscreen mode
94
+ * @since 1.1.0
95
+ * @schema
96
+ */
97
+ type FullscreenErrorCode = 'ALREADY_FULLSCREEN';
90
98
  /**
91
99
  * Haptic impact feedback styles.
92
100
  * Maps to UIImpactFeedbackGenerator styles on iOS
@@ -116,7 +124,7 @@ type HapticNotificationType = 'success' | 'warning' | 'error';
116
124
  * | `-32603` | Internal error (send failed, unexpected error) | JSON-RPC standard |
117
125
  * | `8000` | Request expired / timed out | `sessionRequestExpired` |
118
126
  *
119
- * @since 0.3.0
127
+ * @since 1.0.0
120
128
  * @schema
121
129
  */
122
130
  type WalletSolanaErrorCode = 5000 | -32602 | -32603 | 8000;
@@ -132,7 +140,7 @@ type WalletSolanaErrorCode = 5000 | -32602 | -32603 | 8000;
132
140
  * }
133
141
  * ```
134
142
  *
135
- * @since 0.3.0
143
+ * @since 1.0.0
136
144
  */
137
145
  declare const WALLET_ERROR: {
138
146
  /** User rejected the request (cancelled approval screen). */
@@ -146,7 +154,7 @@ declare const WALLET_ERROR: {
146
154
  };
147
155
  /**
148
156
  * Solana commitment levels for send options.
149
- * @since 0.3.0
157
+ * @since 1.0.0
150
158
  * @schema
151
159
  */
152
160
  type SolanaCommitment = 'processed' | 'confirmed' | 'finalized';
@@ -154,7 +162,7 @@ type SolanaCommitment = 'processed' | 'confirmed' | 'finalized';
154
162
  * Solana chain identifiers (wallet-standard format).
155
163
  * Used by `wallet.solana:sign.send` to tell the host app
156
164
  * which cluster to broadcast to.
157
- * @since 0.3.0
165
+ * @since 1.0.0
158
166
  * @schema
159
167
  */
160
168
  type SolanaChain = 'solana:mainnet' | 'solana:devnet' | 'solana:testnet';
@@ -251,9 +259,38 @@ interface Events {
251
259
  */
252
260
  errorCode?: 'permission_denied' | 'unavailable';
253
261
  }>>;
262
+ /**
263
+ * Fullscreen state changed, fired by the host app
264
+ * after `fullscreen:request` or `fullscreen:exit`.
265
+ * @since 1.1.0
266
+ * @schema
267
+ */
268
+ 'fullscreen:changed': CreateEventPayload<{
269
+ /**
270
+ * Whether the miniapp is currently in fullscreen mode.
271
+ * @since 1.1.0
272
+ * @schema
273
+ */
274
+ isFullscreen: boolean;
275
+ }>;
276
+ /**
277
+ * Fullscreen request failed.
278
+ * Fired by the host app when `fullscreen:request` cannot be fulfilled
279
+ * (e.g., the miniapp is already in fullscreen mode).
280
+ * @since 1.1.0
281
+ * @schema
282
+ */
283
+ 'fullscreen:failed': CreateEventPayload<{
284
+ /**
285
+ * Error code indicating why the fullscreen request failed.
286
+ * @since 1.1.0
287
+ * @schema
288
+ */
289
+ error: FullscreenErrorCode;
290
+ }>;
254
291
  /**
255
292
  * Solana wallet connection response.
256
- * @since 0.3.0
293
+ * @since 1.0.0
257
294
  * @schema
258
295
  */
259
296
  'wallet.solana:connect.response': CreateEventPayload<WithReqId<{
@@ -266,7 +303,7 @@ interface Events {
266
303
  }>>;
267
304
  /**
268
305
  * Solana transaction signing response.
269
- * @since 0.3.0
306
+ * @since 1.0.0
270
307
  * @schema
271
308
  */
272
309
  'wallet.solana:sign.transaction.response': CreateEventPayload<WithReqId<{
@@ -279,7 +316,7 @@ interface Events {
279
316
  }>>;
280
317
  /**
281
318
  * Solana message signing response.
282
- * @since 0.3.0
319
+ * @since 1.0.0
283
320
  * @schema
284
321
  */
285
322
  'wallet.solana:sign.message.response': CreateEventPayload<WithReqId<{
@@ -294,7 +331,7 @@ interface Events {
294
331
  }>>;
295
332
  /**
296
333
  * Solana sign-and-send transaction response.
297
- * @since 0.3.0
334
+ * @since 1.0.0
298
335
  * @schema
299
336
  */
300
337
  'wallet.solana:sign.send.response': CreateEventPayload<WithReqId<{
@@ -349,6 +386,11 @@ interface LaunchParams {
349
386
  * Used for referral codes, campaign tracking, or custom routing.
350
387
  */
351
388
  startParam: string | undefined;
389
+ /**
390
+ * Whether the miniapp was launched in fullscreen mode.
391
+ * @since 1.1.0
392
+ */
393
+ isFullscreen: boolean | undefined;
352
394
  }
353
395
  //#endregion
354
396
  //#region src/methods/types/payload.d.ts
@@ -401,8 +443,8 @@ interface Methods {
401
443
  * Your backend receives a webhook when user pays - fulfill the order
402
444
  * immediately without waiting for chain confirmation.
403
445
  *
404
- * Optional display fields (`title`, `caption`, `iconUrl`, `quantity`)
405
- * are shown on the payment approval screen.
446
+ * Optional `item` object (`title`, `iconUrl`, `quantity`)
447
+ * is shown on the payment approval screen.
406
448
  *
407
449
  * Set `test` to a scenario string (e.g. `'paid'`, `'error:insufficient_balance'`)
408
450
  * for test mode - no real payment is made, but the specified scenario is
@@ -594,21 +636,21 @@ interface Methods {
594
636
  /**
595
637
  * Request Solana wallet connection.
596
638
  * Returns the wallet's public key on success.
597
- * @since 0.3.0
639
+ * @since 1.0.0
598
640
  * @schema
599
641
  */
600
642
  'wallet.solana:connect': CreateMethodPayload<WithReqId<Empty>>;
601
643
  /**
602
644
  * Disconnect from Solana wallet.
603
645
  * Fire-and-forget — no response expected.
604
- * @since 0.3.0
646
+ * @since 1.0.0
605
647
  * @schema
606
648
  */
607
649
  'wallet.solana:disconnect': CreateMethodPayload<Empty>;
608
650
  /**
609
651
  * Request Solana transaction signing.
610
652
  * Returns the signed transaction bytes.
611
- * @since 0.3.0
653
+ * @since 1.0.0
612
654
  * @schema
613
655
  */
614
656
  'wallet.solana:sign.transaction': CreateMethodPayload<WithReqId<{
@@ -618,7 +660,7 @@ interface Methods {
618
660
  /**
619
661
  * Request Solana message signing.
620
662
  * Returns the Ed25519 signature.
621
- * @since 0.3.0
663
+ * @since 1.0.0
622
664
  * @schema
623
665
  */
624
666
  'wallet.solana:sign.message': CreateMethodPayload<WithReqId<{
@@ -629,7 +671,7 @@ interface Methods {
629
671
  * Request Solana transaction signing and sending.
630
672
  * The host app signs and broadcasts the transaction.
631
673
  * Returns the transaction signature.
632
- * @since 0.3.0
674
+ * @since 1.0.0
633
675
  * @schema
634
676
  */
635
677
  'wallet.solana:sign.send': CreateMethodPayload<WithReqId<{
@@ -640,7 +682,7 @@ interface Methods {
640
682
  * In bridge mode the host app can infer this from miniapp config,
641
683
  * but in relay mode (QR/WebSocket) this is required so the host
642
684
  * app knows which RPC to broadcast to.
643
- * @since 0.3.0
685
+ * @since 1.0.0
644
686
  * @schema
645
687
  */
646
688
  chain?: SolanaChain;
@@ -658,6 +700,28 @@ interface Methods {
658
700
  maxRetries?: number;
659
701
  };
660
702
  }>>;
703
+ /**
704
+ * Request fullscreen mode.
705
+ * Fire-and-forget — host app responds with `fullscreen:changed` or `fullscreen:failed` event.
706
+ *
707
+ * @example
708
+ * send('fullscreen:request', {});
709
+ *
710
+ * @since 1.1.0
711
+ * @schema
712
+ */
713
+ 'fullscreen:request': CreateMethodPayload<Empty>;
714
+ /**
715
+ * Exit fullscreen mode.
716
+ * Fire-and-forget — host app responds with `fullscreen:changed` event.
717
+ *
718
+ * @example
719
+ * send('fullscreen:exit', {});
720
+ *
721
+ * @since 1.1.0
722
+ * @schema
723
+ */
724
+ 'fullscreen:exit': CreateMethodPayload<Empty>;
661
725
  }
662
726
  //#endregion
663
727
  //#region src/methods/types/method-types.d.ts
@@ -712,4 +776,4 @@ declare function isMethodSupported(method: MethodName, version: Version): boolea
712
776
  */
713
777
  declare function getMethodMinVersion(method: MethodName): Version | undefined;
714
778
  //#endregion
715
- export { type CreateEventPayload, type CreateMethodPayload, type EventName, type EventPayload, type Events, type HapticImpactStyle, type HapticNotificationType, type LaunchParams, type MethodName, type MethodNameWithVersionedPayload, type MethodPayload, type MethodVersionedPayload, type Methods, PLATFORMS, type PaymentErrorCode, type PaymentTestScenario, type PaymentWebhookStatus, type Platform, type SafeAreaInsets, type SolanaChain, type SolanaCommitment, type Version, WALLET_ERROR, type WalletSolanaErrorCode, getMethodMinVersion, getReleaseVersion, isMethodSupported, releases };
779
+ export { type CreateEventPayload, type CreateMethodPayload, type EventName, type EventPayload, type Events, type FullscreenErrorCode, type HapticImpactStyle, type HapticNotificationType, type LaunchParams, type MethodName, type MethodNameWithVersionedPayload, type MethodPayload, type MethodVersionedPayload, type Methods, PLATFORMS, type PaymentErrorCode, type PaymentTestScenario, type PaymentWebhookStatus, type Platform, type SafeAreaInsets, type SolanaChain, type SolanaCommitment, type Version, WALLET_ERROR, type WalletSolanaErrorCode, getMethodMinVersion, getReleaseVersion, isMethodSupported, releases };
package/dist/index.d.mts CHANGED
@@ -87,6 +87,14 @@ type PaymentWebhookStatus = 'finalized' | 'failed';
87
87
  * @schema
88
88
  */
89
89
  type PaymentTestScenario = 'paid' | 'paid:failed' | 'cancelled' | `error:${PaymentErrorCode}`;
90
+ /**
91
+ * Fullscreen error codes.
92
+ * Returned in `fullscreen:failed` event when fullscreen request fails.
93
+ * - `ALREADY_FULLSCREEN`: Miniapp is already in fullscreen mode
94
+ * @since 1.1.0
95
+ * @schema
96
+ */
97
+ type FullscreenErrorCode = 'ALREADY_FULLSCREEN';
90
98
  /**
91
99
  * Haptic impact feedback styles.
92
100
  * Maps to UIImpactFeedbackGenerator styles on iOS
@@ -116,7 +124,7 @@ type HapticNotificationType = 'success' | 'warning' | 'error';
116
124
  * | `-32603` | Internal error (send failed, unexpected error) | JSON-RPC standard |
117
125
  * | `8000` | Request expired / timed out | `sessionRequestExpired` |
118
126
  *
119
- * @since 0.3.0
127
+ * @since 1.0.0
120
128
  * @schema
121
129
  */
122
130
  type WalletSolanaErrorCode = 5000 | -32602 | -32603 | 8000;
@@ -132,7 +140,7 @@ type WalletSolanaErrorCode = 5000 | -32602 | -32603 | 8000;
132
140
  * }
133
141
  * ```
134
142
  *
135
- * @since 0.3.0
143
+ * @since 1.0.0
136
144
  */
137
145
  declare const WALLET_ERROR: {
138
146
  /** User rejected the request (cancelled approval screen). */
@@ -146,7 +154,7 @@ declare const WALLET_ERROR: {
146
154
  };
147
155
  /**
148
156
  * Solana commitment levels for send options.
149
- * @since 0.3.0
157
+ * @since 1.0.0
150
158
  * @schema
151
159
  */
152
160
  type SolanaCommitment = 'processed' | 'confirmed' | 'finalized';
@@ -154,7 +162,7 @@ type SolanaCommitment = 'processed' | 'confirmed' | 'finalized';
154
162
  * Solana chain identifiers (wallet-standard format).
155
163
  * Used by `wallet.solana:sign.send` to tell the host app
156
164
  * which cluster to broadcast to.
157
- * @since 0.3.0
165
+ * @since 1.0.0
158
166
  * @schema
159
167
  */
160
168
  type SolanaChain = 'solana:mainnet' | 'solana:devnet' | 'solana:testnet';
@@ -251,9 +259,38 @@ interface Events {
251
259
  */
252
260
  errorCode?: 'permission_denied' | 'unavailable';
253
261
  }>>;
262
+ /**
263
+ * Fullscreen state changed, fired by the host app
264
+ * after `fullscreen:request` or `fullscreen:exit`.
265
+ * @since 1.1.0
266
+ * @schema
267
+ */
268
+ 'fullscreen:changed': CreateEventPayload<{
269
+ /**
270
+ * Whether the miniapp is currently in fullscreen mode.
271
+ * @since 1.1.0
272
+ * @schema
273
+ */
274
+ isFullscreen: boolean;
275
+ }>;
276
+ /**
277
+ * Fullscreen request failed.
278
+ * Fired by the host app when `fullscreen:request` cannot be fulfilled
279
+ * (e.g., the miniapp is already in fullscreen mode).
280
+ * @since 1.1.0
281
+ * @schema
282
+ */
283
+ 'fullscreen:failed': CreateEventPayload<{
284
+ /**
285
+ * Error code indicating why the fullscreen request failed.
286
+ * @since 1.1.0
287
+ * @schema
288
+ */
289
+ error: FullscreenErrorCode;
290
+ }>;
254
291
  /**
255
292
  * Solana wallet connection response.
256
- * @since 0.3.0
293
+ * @since 1.0.0
257
294
  * @schema
258
295
  */
259
296
  'wallet.solana:connect.response': CreateEventPayload<WithReqId<{
@@ -266,7 +303,7 @@ interface Events {
266
303
  }>>;
267
304
  /**
268
305
  * Solana transaction signing response.
269
- * @since 0.3.0
306
+ * @since 1.0.0
270
307
  * @schema
271
308
  */
272
309
  'wallet.solana:sign.transaction.response': CreateEventPayload<WithReqId<{
@@ -279,7 +316,7 @@ interface Events {
279
316
  }>>;
280
317
  /**
281
318
  * Solana message signing response.
282
- * @since 0.3.0
319
+ * @since 1.0.0
283
320
  * @schema
284
321
  */
285
322
  'wallet.solana:sign.message.response': CreateEventPayload<WithReqId<{
@@ -294,7 +331,7 @@ interface Events {
294
331
  }>>;
295
332
  /**
296
333
  * Solana sign-and-send transaction response.
297
- * @since 0.3.0
334
+ * @since 1.0.0
298
335
  * @schema
299
336
  */
300
337
  'wallet.solana:sign.send.response': CreateEventPayload<WithReqId<{
@@ -349,6 +386,11 @@ interface LaunchParams {
349
386
  * Used for referral codes, campaign tracking, or custom routing.
350
387
  */
351
388
  startParam: string | undefined;
389
+ /**
390
+ * Whether the miniapp was launched in fullscreen mode.
391
+ * @since 1.1.0
392
+ */
393
+ isFullscreen: boolean | undefined;
352
394
  }
353
395
  //#endregion
354
396
  //#region src/methods/types/payload.d.ts
@@ -401,8 +443,8 @@ interface Methods {
401
443
  * Your backend receives a webhook when user pays - fulfill the order
402
444
  * immediately without waiting for chain confirmation.
403
445
  *
404
- * Optional display fields (`title`, `caption`, `iconUrl`, `quantity`)
405
- * are shown on the payment approval screen.
446
+ * Optional `item` object (`title`, `iconUrl`, `quantity`)
447
+ * is shown on the payment approval screen.
406
448
  *
407
449
  * Set `test` to a scenario string (e.g. `'paid'`, `'error:insufficient_balance'`)
408
450
  * for test mode - no real payment is made, but the specified scenario is
@@ -594,21 +636,21 @@ interface Methods {
594
636
  /**
595
637
  * Request Solana wallet connection.
596
638
  * Returns the wallet's public key on success.
597
- * @since 0.3.0
639
+ * @since 1.0.0
598
640
  * @schema
599
641
  */
600
642
  'wallet.solana:connect': CreateMethodPayload<WithReqId<Empty>>;
601
643
  /**
602
644
  * Disconnect from Solana wallet.
603
645
  * Fire-and-forget — no response expected.
604
- * @since 0.3.0
646
+ * @since 1.0.0
605
647
  * @schema
606
648
  */
607
649
  'wallet.solana:disconnect': CreateMethodPayload<Empty>;
608
650
  /**
609
651
  * Request Solana transaction signing.
610
652
  * Returns the signed transaction bytes.
611
- * @since 0.3.0
653
+ * @since 1.0.0
612
654
  * @schema
613
655
  */
614
656
  'wallet.solana:sign.transaction': CreateMethodPayload<WithReqId<{
@@ -618,7 +660,7 @@ interface Methods {
618
660
  /**
619
661
  * Request Solana message signing.
620
662
  * Returns the Ed25519 signature.
621
- * @since 0.3.0
663
+ * @since 1.0.0
622
664
  * @schema
623
665
  */
624
666
  'wallet.solana:sign.message': CreateMethodPayload<WithReqId<{
@@ -629,7 +671,7 @@ interface Methods {
629
671
  * Request Solana transaction signing and sending.
630
672
  * The host app signs and broadcasts the transaction.
631
673
  * Returns the transaction signature.
632
- * @since 0.3.0
674
+ * @since 1.0.0
633
675
  * @schema
634
676
  */
635
677
  'wallet.solana:sign.send': CreateMethodPayload<WithReqId<{
@@ -640,7 +682,7 @@ interface Methods {
640
682
  * In bridge mode the host app can infer this from miniapp config,
641
683
  * but in relay mode (QR/WebSocket) this is required so the host
642
684
  * app knows which RPC to broadcast to.
643
- * @since 0.3.0
685
+ * @since 1.0.0
644
686
  * @schema
645
687
  */
646
688
  chain?: SolanaChain;
@@ -658,6 +700,28 @@ interface Methods {
658
700
  maxRetries?: number;
659
701
  };
660
702
  }>>;
703
+ /**
704
+ * Request fullscreen mode.
705
+ * Fire-and-forget — host app responds with `fullscreen:changed` or `fullscreen:failed` event.
706
+ *
707
+ * @example
708
+ * send('fullscreen:request', {});
709
+ *
710
+ * @since 1.1.0
711
+ * @schema
712
+ */
713
+ 'fullscreen:request': CreateMethodPayload<Empty>;
714
+ /**
715
+ * Exit fullscreen mode.
716
+ * Fire-and-forget — host app responds with `fullscreen:changed` event.
717
+ *
718
+ * @example
719
+ * send('fullscreen:exit', {});
720
+ *
721
+ * @since 1.1.0
722
+ * @schema
723
+ */
724
+ 'fullscreen:exit': CreateMethodPayload<Empty>;
661
725
  }
662
726
  //#endregion
663
727
  //#region src/methods/types/method-types.d.ts
@@ -712,4 +776,4 @@ declare function isMethodSupported(method: MethodName, version: Version): boolea
712
776
  */
713
777
  declare function getMethodMinVersion(method: MethodName): Version | undefined;
714
778
  //#endregion
715
- export { type CreateEventPayload, type CreateMethodPayload, type EventName, type EventPayload, type Events, type HapticImpactStyle, type HapticNotificationType, type LaunchParams, type MethodName, type MethodNameWithVersionedPayload, type MethodPayload, type MethodVersionedPayload, type Methods, PLATFORMS, type PaymentErrorCode, type PaymentTestScenario, type PaymentWebhookStatus, type Platform, type SafeAreaInsets, type SolanaChain, type SolanaCommitment, type Version, WALLET_ERROR, type WalletSolanaErrorCode, getMethodMinVersion, getReleaseVersion, isMethodSupported, releases };
779
+ export { type CreateEventPayload, type CreateMethodPayload, type EventName, type EventPayload, type Events, type FullscreenErrorCode, type HapticImpactStyle, type HapticNotificationType, type LaunchParams, type MethodName, type MethodNameWithVersionedPayload, type MethodPayload, type MethodVersionedPayload, type Methods, PLATFORMS, type PaymentErrorCode, type PaymentTestScenario, type PaymentWebhookStatus, type Platform, type SafeAreaInsets, type SolanaChain, type SolanaCommitment, type Version, WALLET_ERROR, type WalletSolanaErrorCode, getMethodMinVersion, getReleaseVersion, isMethodSupported, releases };
package/dist/index.mjs CHANGED
@@ -20,13 +20,14 @@ const releases = {
20
20
  "haptic:notification",
21
21
  "haptic:selection"
22
22
  ],
23
- "0.3.0": [
23
+ "1.0.0": [
24
24
  "wallet.solana:connect",
25
25
  "wallet.solana:disconnect",
26
26
  "wallet.solana:sign.transaction",
27
27
  "wallet.solana:sign.message",
28
28
  "wallet.solana:sign.send"
29
- ]
29
+ ],
30
+ "1.1.0": ["fullscreen:request", "fullscreen:exit"]
30
31
  };
31
32
 
32
33
  //#endregion
@@ -103,7 +104,7 @@ function getMethodMinVersion(method) {
103
104
  * }
104
105
  * ```
105
106
  *
106
- * @since 0.3.0
107
+ * @since 1.0.0
107
108
  */
108
109
  const WALLET_ERROR = {
109
110
  USER_REJECTED: 5e3,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alien_org/contract",
3
- "version": "1.0.0-alpha",
3
+ "version": "1.1.1-alpha",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",