@subsquid/solana-stream 1.0.0-portal-api.d5861e → 1.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 (52) hide show
  1. package/lib/builder.d.ts +92 -0
  2. package/lib/builder.d.ts.map +1 -0
  3. package/lib/builder.js +182 -0
  4. package/lib/builder.js.map +1 -0
  5. package/lib/data/fields.d.ts.map +1 -1
  6. package/lib/data/fields.js +0 -14
  7. package/lib/data/fields.js.map +1 -1
  8. package/lib/data/model.d.ts +16 -6
  9. package/lib/data/model.d.ts.map +1 -1
  10. package/lib/data/model.js +5 -0
  11. package/lib/data/model.js.map +1 -1
  12. package/lib/data/request.d.ts +2 -3
  13. package/lib/data/request.d.ts.map +1 -1
  14. package/lib/data/type-util.d.ts +35 -13
  15. package/lib/data/type-util.d.ts.map +1 -1
  16. package/lib/index.d.ts +3 -0
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +3 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/{merge.test.d.ts.map → portal/merge.test.d.ts.map} +1 -1
  21. package/lib/{merge.test.js → portal/merge.test.js} +34 -34
  22. package/lib/portal/merge.test.js.map +1 -0
  23. package/lib/portal/source.d.ts +14 -11
  24. package/lib/portal/source.d.ts.map +1 -1
  25. package/lib/portal/source.js +75 -56
  26. package/lib/portal/source.js.map +1 -1
  27. package/lib/query.d.ts +53 -0
  28. package/lib/query.d.ts.map +1 -0
  29. package/lib/query.js +102 -0
  30. package/lib/query.js.map +1 -0
  31. package/lib/source.d.ts +2 -69
  32. package/lib/source.d.ts.map +1 -1
  33. package/lib/source.js +0 -265
  34. package/lib/source.js.map +1 -1
  35. package/package.json +18 -16
  36. package/src/builder.ts +205 -0
  37. package/src/data/fields.ts +0 -20
  38. package/src/data/model.ts +23 -27
  39. package/src/data/request.ts +2 -3
  40. package/src/data/type-util.ts +39 -37
  41. package/src/index.ts +3 -0
  42. package/src/{merge.test.ts → portal/merge.test.ts} +2 -2
  43. package/src/portal/source.ts +115 -98
  44. package/src/query.ts +112 -0
  45. package/src/source.ts +3 -314
  46. package/lib/merge.test.js.map +0 -1
  47. package/lib/portal/schema.d.ts +0 -167
  48. package/lib/portal/schema.d.ts.map +0 -1
  49. package/lib/portal/schema.js +0 -117
  50. package/lib/portal/schema.js.map +0 -1
  51. package/src/portal/schema.ts +0 -136
  52. /package/lib/{merge.test.d.ts → portal/merge.test.d.ts} +0 -0
@@ -1,136 +0,0 @@
1
- import {AddressTableLookup} from '@subsquid/solana-rpc-data'
2
- import {weakMemo} from '@subsquid/util-internal'
3
- import {
4
- ANY,
5
- array,
6
- B58,
7
- ANY_INT,
8
- BOOLEAN,
9
- BYTES,
10
- constant,
11
- NAT,
12
- object,
13
- oneOf,
14
- option,
15
- STRING
16
- } from '@subsquid/util-internal-validation'
17
- import {project} from '../data/fields'
18
- import {FieldSelection} from '../data/model'
19
-
20
-
21
- export const getDataSchema = weakMemo((fields: FieldSelection) => {
22
- let BlockHeader = object({
23
- number: NAT,
24
- hash: B58,
25
- parentHash: B58,
26
- ...project(fields.block, {
27
- slot: NAT,
28
- parentSlot: NAT,
29
- timestamp: NAT
30
- })
31
- })
32
-
33
- let Transaction = object({
34
- transactionIndex: NAT,
35
- ...project(fields.transaction, {
36
- version: oneOf({
37
- legacy: constant('legacy'),
38
- versionNumber: NAT
39
- }),
40
- accountKeys: array(B58),
41
- addressTableLookups: array(AddressTableLookup),
42
- numReadonlySignedAccounts: NAT,
43
- numReadonlyUnsignedAccounts: NAT,
44
- numRequiredSignatures: NAT,
45
- recentBlockhash: B58,
46
- signatures: array(B58),
47
- err: ANY,
48
- computeUnitsConsumed: ANY_INT,
49
- fee: ANY_INT,
50
- loadedAddresses: option(object({
51
- readonly: array(B58),
52
- writable: array(B58)
53
- })),
54
- hasDroppedLogMessages: BOOLEAN
55
- })
56
- })
57
-
58
- let Instruction = object({
59
- transactionIndex: NAT,
60
- instructionAddress: array(NAT),
61
- ...project(fields.instruction, {
62
- programId: B58,
63
- accounts: array(B58),
64
- data: B58,
65
- computeUnitsConsumed: option(ANY_INT),
66
- d1: BYTES,
67
- d2: BYTES,
68
- d4: BYTES,
69
- d8: BYTES,
70
- error: option(STRING),
71
- isCommitted: BOOLEAN,
72
- hasDroppedLogMessages: BOOLEAN
73
- })
74
- })
75
-
76
- let LogMessage = object({
77
- transactionIndex: NAT,
78
- logIndex: NAT,
79
- instructionAddress: array(NAT),
80
- ...project(fields.log, {
81
- programId: B58,
82
- kind: oneOf({
83
- log: constant('log'),
84
- data: constant('data'),
85
- other: constant('other')
86
- }),
87
- message: STRING
88
- })
89
- })
90
-
91
- let Balance = object({
92
- transactionIndex: NAT,
93
- account: B58,
94
- ...project(fields.balance, {
95
- pre: ANY_INT,
96
- post: ANY_INT
97
- })
98
- })
99
-
100
- let TokenBalance = object({
101
- transactionIndex: NAT,
102
- account: B58,
103
- ...project(fields.tokenBalance, {
104
- preProgramId: option(B58),
105
- postProgramId: option(B58),
106
- preMint: option(B58),
107
- postMint: option(B58),
108
- preDecimals: option(NAT),
109
- postDecimals: option(NAT),
110
- preOwner: option(B58),
111
- postOwner: option(B58),
112
- preAmount: option(ANY_INT),
113
- postAmount: option(ANY_INT)
114
- })
115
- })
116
-
117
- let Reward = object({
118
- pubkey: B58,
119
- ...project(fields.reward, {
120
- lamports: ANY_INT,
121
- postBalance: ANY_INT,
122
- rewardType: option(STRING),
123
- commission: option(NAT)
124
- })
125
- })
126
-
127
- return object({
128
- header: BlockHeader,
129
- transactions: (array(Transaction)),
130
- instructions: (array(Instruction)),
131
- logs: (array(LogMessage)),
132
- balances: (array(Balance)),
133
- tokenBalances: (array(TokenBalance)),
134
- rewards: (array(Reward))
135
- })
136
- })
File without changes