@actioncodes/protocol 1.2.1 → 2.0.0

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 (144) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +32 -45
  3. package/dist/ActionCodesProtocol.d.ts +35 -0
  4. package/dist/ActionCodesProtocol.d.ts.map +1 -0
  5. package/dist/adapters/BaseChainAdapter.d.ts +22 -0
  6. package/dist/adapters/BaseChainAdapter.d.ts.map +1 -0
  7. package/dist/adapters/SolanaAdapter.d.ts +44 -0
  8. package/dist/adapters/SolanaAdapter.d.ts.map +1 -0
  9. package/dist/constants.d.ts +6 -8
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/errors.d.ts +63 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/index.cjs +3 -0
  14. package/dist/index.cjs.map +25 -0
  15. package/dist/index.d.ts +10 -8
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3 -23
  18. package/dist/index.js.map +25 -0
  19. package/dist/strategy/DelegationStrategy.d.ts +43 -0
  20. package/dist/strategy/DelegationStrategy.d.ts.map +1 -0
  21. package/dist/strategy/WalletStrategy.d.ts +8 -0
  22. package/dist/strategy/WalletStrategy.d.ts.map +1 -0
  23. package/dist/types.d.ts +40 -0
  24. package/dist/types.d.ts.map +1 -0
  25. package/dist/utils/canonical.d.ts +5 -0
  26. package/dist/utils/canonical.d.ts.map +1 -0
  27. package/dist/utils/crypto.d.ts +13 -0
  28. package/dist/utils/crypto.d.ts.map +1 -0
  29. package/dist/utils/protocolMeta.d.ts +16 -0
  30. package/dist/utils/protocolMeta.d.ts.map +1 -0
  31. package/docs/ActionCodesProtocol/README.md +11 -0
  32. package/docs/ActionCodesProtocol/classes/ActionCodesProtocol.md +147 -0
  33. package/docs/README.md +10 -50
  34. package/docs/adapters/BaseChainAdapter/README.md +20 -0
  35. package/docs/adapters/BaseChainAdapter/classes/BaseChainAdapter.md +56 -0
  36. package/docs/adapters/BaseChainAdapter/interfaces/BaseContext.md +17 -0
  37. package/docs/adapters/BaseChainAdapter/interfaces/ChainAdapter.md +33 -0
  38. package/docs/adapters/BaseChainAdapter/type-aliases/ChainContext.md +23 -0
  39. package/docs/adapters/NodeCryptoAdapter/README.md +15 -0
  40. package/docs/adapters/NodeCryptoAdapter/classes/NodeCryptoAdapter.md +254 -0
  41. package/docs/adapters/NodeCryptoAdapter/type-aliases/NodeCryptoContext.md +27 -0
  42. package/docs/adapters/SolanaAdapter/README.md +16 -0
  43. package/docs/adapters/SolanaAdapter/classes/SolanaAdapter.md +190 -0
  44. package/docs/adapters/SolanaAdapter/type-aliases/SolanaContext.md +27 -0
  45. package/docs/adapters/SolanaAdapter/type-aliases/SolanaTransaction.md +13 -0
  46. package/docs/constants/README.md +8 -13
  47. package/docs/constants/variables/CODE_CHARSET_DIGITS.md +11 -0
  48. package/docs/constants/variables/CODE_DEFAULT_LENGTH.md +11 -0
  49. package/docs/constants/variables/CODE_MAX_LENGTH.md +11 -0
  50. package/docs/constants/variables/CODE_MIN_LENGTH.md +11 -0
  51. package/docs/constants/variables/PROTOCOL_META_MAX_BYTES.md +11 -0
  52. package/docs/constants/variables/PROTOCOL_NORMALIZATION.md +11 -0
  53. package/docs/constants/variables/SUPPORTED_CHAINS.md +3 -3
  54. package/docs/errors/README.md +22 -0
  55. package/docs/errors/classes/ExpiredCodeError.md +695 -0
  56. package/docs/errors/classes/InvalidCodeFormatError.md +691 -0
  57. package/docs/errors/classes/InvalidPubkeyFormatError.md +691 -0
  58. package/docs/errors/classes/InvalidSignatureError.md +687 -0
  59. package/docs/errors/classes/MetaMismatchError.md +695 -0
  60. package/docs/errors/classes/MissingMetaError.md +681 -0
  61. package/docs/errors/classes/ProtocolError.md +637 -0
  62. package/docs/errors/classes/TransactionNotSignedByIntendedOwnerError.md +691 -0
  63. package/docs/errors/enumerations/ProtocolErrorCode.md +121 -0
  64. package/docs/index/README.md +83 -41
  65. package/docs/modules.md +12 -9
  66. package/docs/strategy/WalletStrategy/README.md +11 -0
  67. package/docs/strategy/WalletStrategy/classes/WalletStrategy.md +67 -0
  68. package/docs/types/README.md +14 -0
  69. package/docs/types/interfaces/ActionCode.md +65 -0
  70. package/docs/types/interfaces/CanonicalMessageParts.md +33 -0
  71. package/docs/types/interfaces/CodeGenerationConfig.md +33 -0
  72. package/docs/types/interfaces/CodeGenerationResult.md +25 -0
  73. package/docs/utils/canonical/README.md +16 -0
  74. package/docs/utils/canonical/functions/serializeCanonical.md +21 -0
  75. package/docs/utils/canonical/variables/CANONICAL_MESSAGE_PREFIX.md +11 -0
  76. package/docs/utils/canonical/variables/CANONICAL_MESSAGE_VERSION.md +11 -0
  77. package/docs/utils/crypto/README.md +18 -0
  78. package/docs/utils/crypto/functions/base32EncodeCrockford.md +21 -0
  79. package/docs/utils/crypto/functions/codeHash.md +21 -0
  80. package/docs/utils/crypto/functions/digestToDigits.md +25 -0
  81. package/docs/utils/crypto/functions/generateRandomSecret.md +15 -0
  82. package/docs/utils/crypto/functions/hkdfSha256.md +35 -0
  83. package/docs/utils/crypto/functions/hmacSha256.md +25 -0
  84. package/docs/utils/crypto/functions/sha256.md +21 -0
  85. package/docs/utils/crypto/functions/truncateBits.md +25 -0
  86. package/docs/utils/protocolMeta/README.md +21 -0
  87. package/docs/utils/protocolMeta/functions/buildProtocolMeta.md +21 -0
  88. package/docs/utils/protocolMeta/functions/parseProtocolMeta.md +21 -0
  89. package/docs/utils/protocolMeta/functions/validateProtocolMetaFormat.md +21 -0
  90. package/docs/utils/protocolMeta/interfaces/ProtocolMetaFields.md +41 -0
  91. package/docs/utils/protocolMeta/variables/SCHEME.md +11 -0
  92. package/package.json +42 -47
  93. package/dist/actioncode.d.ts +0 -120
  94. package/dist/actioncode.d.ts.map +0 -1
  95. package/dist/actioncode.js +0 -173
  96. package/dist/adapters/base.d.ts +0 -93
  97. package/dist/adapters/base.d.ts.map +0 -1
  98. package/dist/adapters/base.js +0 -52
  99. package/dist/adapters/solana/index.d.ts +0 -2
  100. package/dist/adapters/solana/index.d.ts.map +0 -1
  101. package/dist/adapters/solana/index.js +0 -17
  102. package/dist/adapters/solana/solana.d.ts +0 -113
  103. package/dist/adapters/solana/solana.d.ts.map +0 -1
  104. package/dist/adapters/solana/solana.js +0 -524
  105. package/dist/codegen.d.ts +0 -76
  106. package/dist/codegen.d.ts.map +0 -1
  107. package/dist/codegen.js +0 -198
  108. package/dist/constants.js +0 -11
  109. package/dist/meta.d.ts +0 -54
  110. package/dist/meta.d.ts.map +0 -1
  111. package/dist/meta.js +0 -91
  112. package/dist/protocol.d.ts +0 -179
  113. package/dist/protocol.d.ts.map +0 -1
  114. package/dist/protocol.js +0 -377
  115. package/docs/_media/LICENSE +0 -201
  116. package/docs/_media/README.md +0 -28
  117. package/docs/actioncode/README.md +0 -21
  118. package/docs/actioncode/classes/ActionCode.md +0 -430
  119. package/docs/actioncode/interfaces/ActionCodeFields.md +0 -89
  120. package/docs/actioncode/interfaces/ActionCodeMetadata.md +0 -25
  121. package/docs/actioncode/interfaces/ActionCodeTransaction.md +0 -57
  122. package/docs/actioncode/type-aliases/ActionCodeStatus.md +0 -11
  123. package/docs/adapters/base/README.md +0 -11
  124. package/docs/adapters/base/classes/BaseChainAdapter.md +0 -396
  125. package/docs/adapters/solana/README.md +0 -19
  126. package/docs/adapters/solana/solana/README.md +0 -15
  127. package/docs/adapters/solana/solana/classes/SolanaAdapter.md +0 -506
  128. package/docs/adapters/solana/solana/type-aliases/SolanaTransaction.md +0 -13
  129. package/docs/codegen/README.md +0 -11
  130. package/docs/codegen/classes/CodeGenerator.md +0 -341
  131. package/docs/constants/type-aliases/SupportedChain.md +0 -11
  132. package/docs/constants/variables/CODE_LENGTH.md +0 -11
  133. package/docs/constants/variables/CODE_TTL.md +0 -11
  134. package/docs/constants/variables/MAX_PREFIX_LENGTH.md +0 -11
  135. package/docs/constants/variables/MIN_PREFIX_LENGTH.md +0 -11
  136. package/docs/constants/variables/PROTOCOL_CODE_PREFIX.md +0 -11
  137. package/docs/constants/variables/PROTOCOL_PREFIX.md +0 -11
  138. package/docs/constants/variables/PROTOCOL_VERSION.md +0 -11
  139. package/docs/meta/README.md +0 -15
  140. package/docs/meta/classes/ProtocolMetaParser.md +0 -177
  141. package/docs/meta/interfaces/ProtocolMetaV1.md +0 -59
  142. package/docs/protocol/README.md +0 -51
  143. package/docs/protocol/classes/ActionCodesProtocol.md +0 -676
  144. package/docs/protocol/interfaces/ProtocolConfig.md +0 -71
@@ -1,506 +0,0 @@
1
- [**@actioncodes/protocol**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@actioncodes/protocol](../../../../modules.md) / [adapters/solana/solana](../README.md) / SolanaAdapter
6
-
7
- # Class: SolanaAdapter
8
-
9
- Defined in: [adapters/solana/solana.ts:27](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L27)
10
-
11
- Simple Solana adapter for protocol meta operations
12
- Supports both legacy and versioned transactions
13
-
14
- ## Extends
15
-
16
- - [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md)\<[`SolanaTransaction`](../type-aliases/SolanaTransaction.md)\>
17
-
18
- ## Constructors
19
-
20
- ### Constructor
21
-
22
- > **new SolanaAdapter**(): `SolanaAdapter`
23
-
24
- #### Returns
25
-
26
- `SolanaAdapter`
27
-
28
- #### Inherited from
29
-
30
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`constructor`](../../../base/classes/BaseChainAdapter.md#constructor)
31
-
32
- ## Properties
33
-
34
- ### chain
35
-
36
- > `readonly` **chain**: `"solana"` = `'solana'`
37
-
38
- Defined in: [adapters/solana/solana.ts:30](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L30)
39
-
40
- #### Overrides
41
-
42
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`chain`](../../../base/classes/BaseChainAdapter.md#chain)
43
-
44
- ## Methods
45
-
46
- ### decodeFromBase64()
47
-
48
- > **decodeFromBase64**(`base64String`): `null` \| [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
49
-
50
- Defined in: [adapters/solana/solana.ts:358](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L358)
51
-
52
- Decode protocol meta from base64 string (for backward compatibility)
53
-
54
- #### Parameters
55
-
56
- ##### base64String
57
-
58
- `string`
59
-
60
- Base64 encoded transaction
61
-
62
- #### Returns
63
-
64
- `null` \| [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
65
-
66
- Decoded ProtocolMetaV1 or null
67
-
68
- ***
69
-
70
- ### decodeMeta()
71
-
72
- > **decodeMeta**(`tx`): `null` \| [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
73
-
74
- Defined in: [adapters/solana/solana.ts:58](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L58)
75
-
76
- Decode protocol meta from Solana transaction (legacy or versioned)
77
-
78
- #### Parameters
79
-
80
- ##### tx
81
-
82
- The Solana transaction (can be deserialized object or base64 string)
83
-
84
- `string` | [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
85
-
86
- #### Returns
87
-
88
- `null` \| [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
89
-
90
- Decoded ProtocolMetaV1 or null if not found
91
-
92
- #### Overrides
93
-
94
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`decodeMeta`](../../../base/classes/BaseChainAdapter.md#decodemeta)
95
-
96
- ***
97
-
98
- ### deserializeTransaction()
99
-
100
- > **deserializeTransaction**(`base64String`): [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
101
-
102
- Defined in: [adapters/solana/solana.ts:83](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L83)
103
-
104
- Deserialize a Solana transaction from base64 string
105
-
106
- #### Parameters
107
-
108
- ##### base64String
109
-
110
- `string`
111
-
112
- Base64 encoded transaction
113
-
114
- #### Returns
115
-
116
- [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
117
-
118
- SolanaTransaction object
119
-
120
- ***
121
-
122
- ### detectTampering()
123
-
124
- > **detectTampering**(`tx`, `authorities`, `expectedPrefix`): `boolean`
125
-
126
- Defined in: [adapters/base.ts:58](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/base.ts#L58)
127
-
128
- Detect tampered transactions by cross-checking metadata
129
-
130
- #### Parameters
131
-
132
- ##### tx
133
-
134
- [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
135
-
136
- Chain-specific transaction
137
-
138
- ##### authorities
139
-
140
- `string`[]
141
-
142
- Array of valid protocol authority identifiers
143
-
144
- ##### expectedPrefix
145
-
146
- `string` = `'DEFAULT'`
147
-
148
- Expected protocol prefix
149
-
150
- #### Returns
151
-
152
- `boolean`
153
-
154
- True if transaction is valid and not tampered
155
-
156
- #### Inherited from
157
-
158
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`detectTampering`](../../../base/classes/BaseChainAdapter.md#detecttampering)
159
-
160
- ***
161
-
162
- ### encodeMeta()
163
-
164
- > **encodeMeta**(`meta`): `TransactionInstruction`
165
-
166
- Defined in: [adapters/solana/solana.ts:37](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L37)
167
-
168
- Encode protocol meta as a Solana memo instruction
169
-
170
- #### Parameters
171
-
172
- ##### meta
173
-
174
- [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
175
-
176
- The protocol meta to encode
177
-
178
- #### Returns
179
-
180
- `TransactionInstruction`
181
-
182
- TransactionInstruction for the memo
183
-
184
- #### Overrides
185
-
186
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`encodeMeta`](../../../base/classes/BaseChainAdapter.md#encodemeta)
187
-
188
- ***
189
-
190
- ### getCodeSignatureMessage()
191
-
192
- > **getCodeSignatureMessage**(`code`, `timestamp`, `prefix`): `string`
193
-
194
- Defined in: [adapters/base.ts:104](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/base.ts#L104)
195
-
196
- Get the code signature message
197
-
198
- #### Parameters
199
-
200
- ##### code
201
-
202
- `string`
203
-
204
- The code to sign
205
-
206
- ##### timestamp
207
-
208
- `number`
209
-
210
- The timestamp of the code
211
-
212
- ##### prefix
213
-
214
- `string` = `PROTOCOL_CODE_PREFIX`
215
-
216
- The prefix of the code
217
-
218
- #### Returns
219
-
220
- `string`
221
-
222
- The code signature message
223
-
224
- #### Inherited from
225
-
226
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`getCodeSignatureMessage`](../../../base/classes/BaseChainAdapter.md#getcodesignaturemessage)
227
-
228
- ***
229
-
230
- ### hasIssuerSignature()
231
-
232
- > **hasIssuerSignature**(`tx`, `issuer`): `boolean`
233
-
234
- Defined in: [adapters/solana/solana.ts:195](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L195)
235
-
236
- Check if the issuer has signed the transaction
237
-
238
- #### Parameters
239
-
240
- ##### tx
241
-
242
- The Solana transaction (can be deserialized object or base64 string)
243
-
244
- `string` | [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
245
-
246
- ##### issuer
247
-
248
- `string`
249
-
250
- Issuer public key to check
251
-
252
- #### Returns
253
-
254
- `boolean`
255
-
256
- True if issuer has signed
257
-
258
- #### Overrides
259
-
260
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`hasIssuerSignature`](../../../base/classes/BaseChainAdapter.md#hasissuersignature)
261
-
262
- ***
263
-
264
- ### injectMeta()
265
-
266
- > **injectMeta**(`serializedTx`, `meta`): `string`
267
-
268
- Defined in: [adapters/solana/solana.ts:103](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L103)
269
-
270
- Inject protocol meta into Solana transaction
271
-
272
- #### Parameters
273
-
274
- ##### serializedTx
275
-
276
- `string`
277
-
278
- Serialized transaction string (base64)
279
-
280
- ##### meta
281
-
282
- [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
283
-
284
- ProtocolMetaV1 object
285
-
286
- #### Returns
287
-
288
- `string`
289
-
290
- Serialized transaction with injected meta
291
-
292
- #### Overrides
293
-
294
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`injectMeta`](../../../base/classes/BaseChainAdapter.md#injectmeta)
295
-
296
- ***
297
-
298
- ### signWithProtocolKey()
299
-
300
- > **signWithProtocolKey**(`actionCode`, `key`): `Promise`\<[`ActionCode`](../../../../actioncode/classes/ActionCode.md)\>
301
-
302
- Defined in: [adapters/solana/solana.ts:368](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L368)
303
-
304
- Sign the transaction with the protocol key
305
-
306
- #### Parameters
307
-
308
- ##### actionCode
309
-
310
- [`ActionCode`](../../../../actioncode/classes/ActionCode.md)
311
-
312
- The action code containing the transaction
313
-
314
- ##### key
315
-
316
- `Keypair`
317
-
318
- The keypair to sign with
319
-
320
- #### Returns
321
-
322
- `Promise`\<[`ActionCode`](../../../../actioncode/classes/ActionCode.md)\>
323
-
324
- Promise that resolves to the signed action code
325
-
326
- #### Overrides
327
-
328
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`signWithProtocolKey`](../../../base/classes/BaseChainAdapter.md#signwithprotocolkey)
329
-
330
- ***
331
-
332
- ### validate()
333
-
334
- > **validate**(`tx`, `authorities`, `expectedPrefix`): `boolean`
335
-
336
- Defined in: [adapters/solana/solana.ts:185](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L185)
337
-
338
- Validate transaction with protocol meta and authority list
339
-
340
- #### Parameters
341
-
342
- ##### tx
343
-
344
- [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
345
-
346
- The Solana transaction
347
-
348
- ##### authorities
349
-
350
- `string`[]
351
-
352
- Array of valid protocol authority public keys (base58)
353
-
354
- ##### expectedPrefix
355
-
356
- `string` = `'DEFAULT'`
357
-
358
- Expected protocol prefix (default: 'DEFAULT')
359
-
360
- #### Returns
361
-
362
- `boolean`
363
-
364
- True if transaction is valid
365
-
366
- #### Overrides
367
-
368
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`validate`](../../../base/classes/BaseChainAdapter.md#validate)
369
-
370
- ***
371
-
372
- ### validateSignedMessage()
373
-
374
- > **validateSignedMessage**(`message`, `signedMessage`, `pubkey`): `boolean`
375
-
376
- Defined in: [adapters/solana/solana.ts:548](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L548)
377
-
378
- Validate a signed message for sign-only mode
379
-
380
- #### Parameters
381
-
382
- ##### message
383
-
384
- `string`
385
-
386
- The message that was signed
387
-
388
- ##### signedMessage
389
-
390
- `string`
391
-
392
- The signed message (base64 or hex)
393
-
394
- ##### pubkey
395
-
396
- `string`
397
-
398
- The public key that should have signed the message
399
-
400
- #### Returns
401
-
402
- `boolean`
403
-
404
- True if the signature is valid
405
-
406
- #### Overrides
407
-
408
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`validateSignedMessage`](../../../base/classes/BaseChainAdapter.md#validatesignedmessage)
409
-
410
- ***
411
-
412
- ### validateTransactionIntegrity()
413
-
414
- > `protected` **validateTransactionIntegrity**(`tx`, `meta`): `boolean`
415
-
416
- Defined in: [adapters/solana/solana.ts:311](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L311)
417
-
418
- Validate Solana transaction integrity with additional checks
419
-
420
- #### Parameters
421
-
422
- ##### tx
423
-
424
- [`SolanaTransaction`](../type-aliases/SolanaTransaction.md)
425
-
426
- The Solana transaction
427
-
428
- ##### meta
429
-
430
- [`ProtocolMetaV1`](../../../../meta/interfaces/ProtocolMetaV1.md)
431
-
432
- Decoded protocol meta
433
-
434
- #### Returns
435
-
436
- `boolean`
437
-
438
- True if transaction integrity is valid
439
-
440
- #### Overrides
441
-
442
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`validateTransactionIntegrity`](../../../base/classes/BaseChainAdapter.md#validatetransactionintegrity)
443
-
444
- ***
445
-
446
- ### verifyCodeSignature()
447
-
448
- > **verifyCodeSignature**(`actionCode`): `boolean`
449
-
450
- Defined in: [adapters/solana/solana.ts:340](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L340)
451
-
452
- Verify the code signature
453
- This is specific to the chain and should be implemented by the concrete adapter
454
- It will be used to verify the code signature for the action code if the right wallet is used to sign the code
455
-
456
- #### Parameters
457
-
458
- ##### actionCode
459
-
460
- [`ActionCode`](../../../../actioncode/classes/ActionCode.md)
461
-
462
- The action code to verify
463
-
464
- #### Returns
465
-
466
- `boolean`
467
-
468
- True if the code signature is valid
469
-
470
- #### Overrides
471
-
472
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`verifyCodeSignature`](../../../base/classes/BaseChainAdapter.md#verifycodesignature)
473
-
474
- ***
475
-
476
- ### verifyFinalizedTransaction()
477
-
478
- > **verifyFinalizedTransaction**(`tx`, `actionCode`): `boolean`
479
-
480
- Defined in: [adapters/solana/solana.ts:421](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L421)
481
-
482
- Verify the finalized transaction from blockchain
483
-
484
- #### Parameters
485
-
486
- ##### tx
487
-
488
- `VersionedTransactionResponse`
489
-
490
- The finalized transaction response from blockchain
491
-
492
- ##### actionCode
493
-
494
- [`ActionCode`](../../../../actioncode/classes/ActionCode.md)
495
-
496
- The action code to verify against
497
-
498
- #### Returns
499
-
500
- `boolean`
501
-
502
- True if the transaction is valid and matches the action code
503
-
504
- #### Overrides
505
-
506
- [`BaseChainAdapter`](../../../base/classes/BaseChainAdapter.md).[`verifyFinalizedTransaction`](../../../base/classes/BaseChainAdapter.md#verifyfinalizedtransaction)
@@ -1,13 +0,0 @@
1
- [**@actioncodes/protocol**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@actioncodes/protocol](../../../../modules.md) / [adapters/solana/solana](../README.md) / SolanaTransaction
6
-
7
- # Type Alias: SolanaTransaction
8
-
9
- > **SolanaTransaction** = `Transaction` \| `VersionedTransaction`
10
-
11
- Defined in: [adapters/solana/solana.ts:21](https://github.com/otaprotocol/actioncodes/blob/7fa582d3aecdeca51131d2fc9eec0802298f9a4d/src/adapters/solana/solana.ts#L21)
12
-
13
- Solana transaction type union
@@ -1,11 +0,0 @@
1
- [**@actioncodes/protocol**](../README.md)
2
-
3
- ***
4
-
5
- [@actioncodes/protocol](../modules.md) / codegen
6
-
7
- # codegen
8
-
9
- ## Classes
10
-
11
- - [CodeGenerator](classes/CodeGenerator.md)