@actioncodes/protocol 1.2.2 → 2.0.1
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/LICENSE +1 -1
- package/README.md +318 -33
- package/dist/ActionCodesProtocol.d.ts +37 -0
- package/dist/ActionCodesProtocol.d.ts.map +1 -0
- package/dist/adapters/BaseChainAdapter.d.ts +22 -0
- package/dist/adapters/BaseChainAdapter.d.ts.map +1 -0
- package/dist/adapters/SolanaAdapter.d.ts +44 -0
- package/dist/adapters/SolanaAdapter.d.ts.map +1 -0
- package/dist/constants.d.ts +6 -8
- package/dist/constants.d.ts.map +1 -1
- package/dist/errors.d.ts +63 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +25 -0
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -36
- package/dist/index.js.map +25 -0
- package/dist/strategy/DelegationStrategy.d.ts +45 -0
- package/dist/strategy/DelegationStrategy.d.ts.map +1 -0
- package/dist/strategy/WalletStrategy.d.ts +8 -0
- package/dist/strategy/WalletStrategy.d.ts.map +1 -0
- package/dist/types.d.ts +40 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/canonical.d.ts +5 -0
- package/dist/utils/canonical.d.ts.map +1 -0
- package/dist/utils/crypto.d.ts +13 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/protocolMeta.d.ts +16 -0
- package/dist/utils/protocolMeta.d.ts.map +1 -0
- package/docs/ActionCodesProtocol/README.md +11 -0
- package/docs/ActionCodesProtocol/classes/ActionCodesProtocol.md +147 -0
- package/docs/README.md +10 -50
- package/docs/adapters/BaseChainAdapter/README.md +20 -0
- package/docs/adapters/BaseChainAdapter/classes/BaseChainAdapter.md +56 -0
- package/docs/adapters/BaseChainAdapter/interfaces/BaseContext.md +17 -0
- package/docs/adapters/BaseChainAdapter/interfaces/ChainAdapter.md +33 -0
- package/docs/adapters/BaseChainAdapter/type-aliases/ChainContext.md +23 -0
- package/docs/adapters/NodeCryptoAdapter/README.md +15 -0
- package/docs/adapters/NodeCryptoAdapter/classes/NodeCryptoAdapter.md +254 -0
- package/docs/adapters/NodeCryptoAdapter/type-aliases/NodeCryptoContext.md +27 -0
- package/docs/adapters/SolanaAdapter/README.md +16 -0
- package/docs/adapters/SolanaAdapter/classes/SolanaAdapter.md +190 -0
- package/docs/adapters/SolanaAdapter/type-aliases/SolanaContext.md +27 -0
- package/docs/adapters/SolanaAdapter/type-aliases/SolanaTransaction.md +13 -0
- package/docs/constants/README.md +8 -13
- package/docs/constants/variables/CODE_CHARSET_DIGITS.md +11 -0
- package/docs/constants/variables/CODE_DEFAULT_LENGTH.md +11 -0
- package/docs/constants/variables/CODE_MAX_LENGTH.md +11 -0
- package/docs/constants/variables/CODE_MIN_LENGTH.md +11 -0
- package/docs/constants/variables/PROTOCOL_META_MAX_BYTES.md +11 -0
- package/docs/constants/variables/PROTOCOL_NORMALIZATION.md +11 -0
- package/docs/constants/variables/SUPPORTED_CHAINS.md +3 -3
- package/docs/errors/README.md +22 -0
- package/docs/errors/classes/ExpiredCodeError.md +695 -0
- package/docs/errors/classes/InvalidCodeFormatError.md +691 -0
- package/docs/errors/classes/InvalidPubkeyFormatError.md +691 -0
- package/docs/errors/classes/InvalidSignatureError.md +687 -0
- package/docs/errors/classes/MetaMismatchError.md +695 -0
- package/docs/errors/classes/MissingMetaError.md +681 -0
- package/docs/errors/classes/ProtocolError.md +637 -0
- package/docs/errors/classes/TransactionNotSignedByIntendedOwnerError.md +691 -0
- package/docs/errors/enumerations/ProtocolErrorCode.md +121 -0
- package/docs/index/README.md +83 -41
- package/docs/modules.md +12 -9
- package/docs/strategy/WalletStrategy/README.md +11 -0
- package/docs/strategy/WalletStrategy/classes/WalletStrategy.md +67 -0
- package/docs/types/README.md +14 -0
- package/docs/types/interfaces/ActionCode.md +65 -0
- package/docs/types/interfaces/CanonicalMessageParts.md +33 -0
- package/docs/types/interfaces/CodeGenerationConfig.md +33 -0
- package/docs/types/interfaces/CodeGenerationResult.md +25 -0
- package/docs/utils/canonical/README.md +16 -0
- package/docs/utils/canonical/functions/serializeCanonical.md +21 -0
- package/docs/utils/canonical/variables/CANONICAL_MESSAGE_PREFIX.md +11 -0
- package/docs/utils/canonical/variables/CANONICAL_MESSAGE_VERSION.md +11 -0
- package/docs/utils/crypto/README.md +18 -0
- package/docs/utils/crypto/functions/base32EncodeCrockford.md +21 -0
- package/docs/utils/crypto/functions/codeHash.md +21 -0
- package/docs/utils/crypto/functions/digestToDigits.md +25 -0
- package/docs/utils/crypto/functions/generateRandomSecret.md +15 -0
- package/docs/utils/crypto/functions/hkdfSha256.md +35 -0
- package/docs/utils/crypto/functions/hmacSha256.md +25 -0
- package/docs/utils/crypto/functions/sha256.md +21 -0
- package/docs/utils/crypto/functions/truncateBits.md +25 -0
- package/docs/utils/protocolMeta/README.md +21 -0
- package/docs/utils/protocolMeta/functions/buildProtocolMeta.md +21 -0
- package/docs/utils/protocolMeta/functions/parseProtocolMeta.md +21 -0
- package/docs/utils/protocolMeta/functions/validateProtocolMetaFormat.md +21 -0
- package/docs/utils/protocolMeta/interfaces/ProtocolMetaFields.md +41 -0
- package/docs/utils/protocolMeta/variables/SCHEME.md +11 -0
- package/package.json +42 -47
- package/dist/actioncode.d.ts +0 -120
- package/dist/actioncode.d.ts.map +0 -1
- package/dist/actioncode.js +0 -186
- package/dist/adapters/base.d.ts +0 -93
- package/dist/adapters/base.d.ts.map +0 -1
- package/dist/adapters/base.js +0 -65
- package/dist/adapters/solana/index.d.ts +0 -2
- package/dist/adapters/solana/index.d.ts.map +0 -1
- package/dist/adapters/solana/index.js +0 -30
- package/dist/adapters/solana/solana.d.ts +0 -113
- package/dist/adapters/solana/solana.d.ts.map +0 -1
- package/dist/adapters/solana/solana.js +0 -537
- package/dist/codegen.d.ts +0 -76
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -211
- package/dist/constants.js +0 -24
- package/dist/meta.d.ts +0 -54
- package/dist/meta.d.ts.map +0 -1
- package/dist/meta.js +0 -104
- package/dist/protocol.d.ts +0 -179
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -390
- package/docs/_media/LICENSE +0 -201
- package/docs/_media/README.md +0 -28
- package/docs/actioncode/README.md +0 -21
- package/docs/actioncode/classes/ActionCode.md +0 -430
- package/docs/actioncode/interfaces/ActionCodeFields.md +0 -89
- package/docs/actioncode/interfaces/ActionCodeMetadata.md +0 -25
- package/docs/actioncode/interfaces/ActionCodeTransaction.md +0 -57
- package/docs/actioncode/type-aliases/ActionCodeStatus.md +0 -11
- package/docs/adapters/base/README.md +0 -11
- package/docs/adapters/base/classes/BaseChainAdapter.md +0 -396
- package/docs/adapters/solana/README.md +0 -19
- package/docs/adapters/solana/solana/README.md +0 -15
- package/docs/adapters/solana/solana/classes/SolanaAdapter.md +0 -506
- package/docs/adapters/solana/solana/type-aliases/SolanaTransaction.md +0 -13
- package/docs/codegen/README.md +0 -11
- package/docs/codegen/classes/CodeGenerator.md +0 -341
- package/docs/constants/type-aliases/SupportedChain.md +0 -11
- package/docs/constants/variables/CODE_LENGTH.md +0 -11
- package/docs/constants/variables/CODE_TTL.md +0 -11
- package/docs/constants/variables/MAX_PREFIX_LENGTH.md +0 -11
- package/docs/constants/variables/MIN_PREFIX_LENGTH.md +0 -11
- package/docs/constants/variables/PROTOCOL_CODE_PREFIX.md +0 -11
- package/docs/constants/variables/PROTOCOL_PREFIX.md +0 -11
- package/docs/constants/variables/PROTOCOL_VERSION.md +0 -11
- package/docs/meta/README.md +0 -15
- package/docs/meta/classes/ProtocolMetaParser.md +0 -177
- package/docs/meta/interfaces/ProtocolMetaV1.md +0 -59
- package/docs/protocol/README.md +0 -51
- package/docs/protocol/classes/ActionCodesProtocol.md +0 -676
- 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
|