@lukso/transaction-decoder 1.0.1-dev.0f1bea5
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 +201 -0
- package/README.md +486 -0
- package/dist/browser.cjs +6912 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +6 -0
- package/dist/browser.d.ts +6 -0
- package/dist/browser.js +131 -0
- package/dist/browser.js.map +1 -0
- package/dist/cdn/transaction-decoder.global.js +296 -0
- package/dist/cdn/transaction-decoder.global.js.map +1 -0
- package/dist/chunk-GGBHTWJL.js +437 -0
- package/dist/chunk-GGBHTWJL.js.map +1 -0
- package/dist/chunk-GXZOF3QY.js +839 -0
- package/dist/chunk-GXZOF3QY.js.map +1 -0
- package/dist/chunk-LJ6ES5XF.js +776 -0
- package/dist/chunk-LJ6ES5XF.js.map +1 -0
- package/dist/chunk-XVHJWV5U.js +4925 -0
- package/dist/chunk-XVHJWV5U.js.map +1 -0
- package/dist/data.cjs +5518 -0
- package/dist/data.cjs.map +1 -0
- package/dist/data.d.cts +43 -0
- package/dist/data.d.ts +43 -0
- package/dist/data.js +55 -0
- package/dist/data.js.map +1 -0
- package/dist/index-BzXh7poJ.d.cts +524 -0
- package/dist/index-BzXh7poJ.d.ts +524 -0
- package/dist/index.cjs +6912 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +756 -0
- package/dist/index.d.ts +756 -0
- package/dist/index.js +131 -0
- package/dist/index.js.map +1 -0
- package/dist/server.cjs +5644 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.cts +217 -0
- package/dist/server.d.ts +217 -0
- package/dist/server.js +644 -0
- package/dist/server.js.map +1 -0
- package/dist/utils-CBAkjQh3.d.cts +108 -0
- package/dist/utils-xT9-km0r.d.ts +108 -0
- package/package.json +101 -0
- package/src/browser.ts +13 -0
- package/src/client/resolveAddresses.ts +157 -0
- package/src/core/addressCollector.ts +153 -0
- package/src/core/addressResolver.ts +135 -0
- package/src/core/dataModel.ts +888 -0
- package/src/core/instance.ts +33 -0
- package/src/core/integrateDecoder.ts +325 -0
- package/src/data.ts +70 -0
- package/src/decoder/GENERATOR_PROPOSAL.md +182 -0
- package/src/decoder/THREE_PHASE_EXAMPLE.md +108 -0
- package/src/decoder/aggregation.ts +218 -0
- package/src/decoder/browserCache.ts +237 -0
- package/src/decoder/cache/README.md +126 -0
- package/src/decoder/cache/index.ts +44 -0
- package/src/decoder/cache.ts +139 -0
- package/src/decoder/constants.ts +125 -0
- package/src/decoder/decodeTransaction.ts +292 -0
- package/src/decoder/errors.ts +95 -0
- package/src/decoder/events.ts +192 -0
- package/src/decoder/functionSignature.ts +344 -0
- package/src/decoder/getDataFromExternalSources.ts +248 -0
- package/src/decoder/graphqlWS.ts +22 -0
- package/src/decoder/interfaces.ts +185 -0
- package/src/decoder/keyValue.ts +5 -0
- package/src/decoder/kvCache.ts +241 -0
- package/src/decoder/lruCache.ts +184 -0
- package/src/decoder/lsp7Mint.test.ts +179 -0
- package/src/decoder/lsp7TransferBatch.test.ts +105 -0
- package/src/decoder/plugins/RegistryAbi.ts +562 -0
- package/src/decoder/plugins/enhanceBurntPix.ts +132 -0
- package/src/decoder/plugins/enhanceGraffiti.ts +70 -0
- package/src/decoder/plugins/enhanceLSP0ERC725Account.ts +179 -0
- package/src/decoder/plugins/enhanceLSP26FollowerSystem.ts +88 -0
- package/src/decoder/plugins/enhanceLSP6KeyManager.ts +231 -0
- package/src/decoder/plugins/enhanceLSP7DigitalAsset.ts +165 -0
- package/src/decoder/plugins/enhanceLSP8IdentifiableDigitalAsset.ts +170 -0
- package/src/decoder/plugins/enhanceLSP9Vault.ts +57 -0
- package/src/decoder/plugins/enhanceRetrieveAbi.ts +85 -0
- package/src/decoder/plugins/enhanceSetData.ts +135 -0
- package/src/decoder/plugins/index.ts +99 -0
- package/src/decoder/plugins/schemaDefault.ts +318 -0
- package/src/decoder/plugins/standardPlugin.ts +202 -0
- package/src/decoder/registry.ts +322 -0
- package/src/decoder/singleGQL.ts +293 -0
- package/src/decoder/transaction.ts +198 -0
- package/src/decoder/types.ts +465 -0
- package/src/decoder/utils.ts +212 -0
- package/src/example/usage.ts +172 -0
- package/src/index.ts +174 -0
- package/src/server/addressResolver.ts +68 -0
- package/src/server/caches.ts +209 -0
- package/src/server/decodeTransactionSync.ts +156 -0
- package/src/server/decodeTransactionsBatch.ts +207 -0
- package/src/server/finishDecoding.ts +116 -0
- package/src/server/index.ts +81 -0
- package/src/server/lsp23Resolver.test.ts +46 -0
- package/src/server/lsp23Resolver.ts +419 -0
- package/src/server/types.ts +168 -0
- package/src/server.ts +22 -0
- package/src/shared/addressResolver.ts +651 -0
- package/src/shared/cache.ts +144 -0
- package/src/shared/constants.ts +21 -0
- package/src/stubs/tty.ts +13 -0
- package/src/stubs/util.ts +42 -0
- package/src/types/index.ts +154 -0
- package/src/types/provider.ts +46 -0
- package/src/umd.ts +13 -0
- package/src/utils/debug.ts +49 -0
- package/src/utils/json-bigint.ts +47 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { Chain, Transaction } from 'viem'
|
|
2
|
+
import type { DataKey, DecoderResult, EnhancedInfo } from '../types'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Options for server-side decoding
|
|
6
|
+
*/
|
|
7
|
+
export interface ServerDecoderOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Total time budget in milliseconds
|
|
10
|
+
* Default: 800ms
|
|
11
|
+
*/
|
|
12
|
+
timeoutMs?: number
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Whether to enable Phase 2 (ABI fetching and enhancement)
|
|
16
|
+
* Default: true
|
|
17
|
+
*/
|
|
18
|
+
enableEnhancement?: boolean
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Chain to decode for
|
|
22
|
+
*/
|
|
23
|
+
chain: Chain
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Configuration for server decoder instance
|
|
28
|
+
*/
|
|
29
|
+
export interface ServerDecoderConfig {
|
|
30
|
+
/**
|
|
31
|
+
* GraphQL endpoint for address resolution
|
|
32
|
+
*/
|
|
33
|
+
graphqlEndpoint: string
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Default chain (can be overridden per request)
|
|
37
|
+
*/
|
|
38
|
+
defaultChain: Chain
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Size of transaction result cache
|
|
42
|
+
* Default: 10000
|
|
43
|
+
*/
|
|
44
|
+
transactionCacheSize?: number
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Size of address metadata cache
|
|
48
|
+
* Default: 50000
|
|
49
|
+
*/
|
|
50
|
+
addressCacheSize?: number
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Size of contract ABI cache
|
|
54
|
+
* Default: 5000
|
|
55
|
+
*/
|
|
56
|
+
abiCacheSize?: number
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Size of schema decode cache
|
|
60
|
+
* Default: 10000
|
|
61
|
+
*/
|
|
62
|
+
schemaCacheSize?: number
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Default timeout for decoding operations
|
|
66
|
+
* Default: 800ms
|
|
67
|
+
*/
|
|
68
|
+
defaultTimeout?: number
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Cache statistics
|
|
73
|
+
*/
|
|
74
|
+
export interface CacheStats {
|
|
75
|
+
transactions: {
|
|
76
|
+
size: number
|
|
77
|
+
maxSize: number
|
|
78
|
+
hits: number
|
|
79
|
+
misses: number
|
|
80
|
+
hitRate: number
|
|
81
|
+
}
|
|
82
|
+
addresses: {
|
|
83
|
+
size: number
|
|
84
|
+
maxSize: number
|
|
85
|
+
hits: number
|
|
86
|
+
misses: number
|
|
87
|
+
hitRate: number
|
|
88
|
+
}
|
|
89
|
+
abis: {
|
|
90
|
+
size: number
|
|
91
|
+
maxSize: number
|
|
92
|
+
hits: number
|
|
93
|
+
misses: number
|
|
94
|
+
hitRate: number
|
|
95
|
+
}
|
|
96
|
+
schemas: {
|
|
97
|
+
size: number
|
|
98
|
+
maxSize: number
|
|
99
|
+
hits: number
|
|
100
|
+
misses: number
|
|
101
|
+
hitRate: number
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Batch decode result
|
|
107
|
+
*/
|
|
108
|
+
export interface BatchDecodeResult {
|
|
109
|
+
/**
|
|
110
|
+
* Array of decoded results
|
|
111
|
+
*/
|
|
112
|
+
results: DecoderResult[]
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Server decoder instance interface
|
|
117
|
+
*/
|
|
118
|
+
export interface ServerDecoder {
|
|
119
|
+
/**
|
|
120
|
+
* Decode a single transaction
|
|
121
|
+
*/
|
|
122
|
+
decodeTransaction: (
|
|
123
|
+
transaction: DecoderResult,
|
|
124
|
+
options?: Partial<ServerDecoderOptions>
|
|
125
|
+
) => Promise<DecoderResult>
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Decode multiple transactions with batching
|
|
129
|
+
* Returns results with global addressIdentities
|
|
130
|
+
*/
|
|
131
|
+
decodeTransactionsBatch: (
|
|
132
|
+
transactions: DecoderResult[],
|
|
133
|
+
options?: Partial<ServerDecoderOptions>
|
|
134
|
+
) => Promise<BatchDecodeResult>
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Finish decoding a transaction (enhance and resolve addresses)
|
|
138
|
+
* This will update the cache with the fully decoded result
|
|
139
|
+
*/
|
|
140
|
+
finishDecoding: (
|
|
141
|
+
transaction: DecoderResult,
|
|
142
|
+
options?: Partial<ServerDecoderOptions>
|
|
143
|
+
) => Promise<DecoderResult>
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Clear all caches
|
|
147
|
+
*/
|
|
148
|
+
clearCaches: () => void
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Get cache statistics
|
|
152
|
+
*/
|
|
153
|
+
getCacheStats: () => CacheStats
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Warm up address cache with specific addresses
|
|
157
|
+
*/
|
|
158
|
+
warmAddressCache: (addresses: DataKey[]) => Promise<void>
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Resolve addresses and return their metadata
|
|
162
|
+
* Uses cache when available
|
|
163
|
+
*/
|
|
164
|
+
resolveAddresses: (
|
|
165
|
+
addresses: DataKey[],
|
|
166
|
+
timeoutMs?: number
|
|
167
|
+
) => Promise<Map<DataKey, EnhancedInfo>>
|
|
168
|
+
}
|
package/src/server.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @lukso/decoder/server - Server-side API
|
|
3
|
+
*
|
|
4
|
+
* This module exports functions optimized for server-side use with:
|
|
5
|
+
* - Time-bounded decoding
|
|
6
|
+
* - Multi-level caching
|
|
7
|
+
* - No reactive state management
|
|
8
|
+
* - Batch processing optimizations
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export { ServerAddressResolver } from './server/addressResolver'
|
|
12
|
+
export { ServerDecoderCaches } from './server/caches'
|
|
13
|
+
export { decodeTransactionSync } from './server/decodeTransactionSync'
|
|
14
|
+
export { decodeTransactionsBatch } from './server/decodeTransactionsBatch'
|
|
15
|
+
export { createServerDecoder } from './server/index'
|
|
16
|
+
|
|
17
|
+
export type {
|
|
18
|
+
CacheStats,
|
|
19
|
+
ServerDecoder,
|
|
20
|
+
ServerDecoderConfig,
|
|
21
|
+
ServerDecoderOptions,
|
|
22
|
+
} from './server/types'
|