mainnet-js 1.1.34 → 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.
Files changed (122) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-1.1.34.js → mainnet-2.0.1.js} +26 -338
  3. package/dist/module/db/SqlProvider.d.ts +2 -2
  4. package/dist/module/db/SqlProvider.d.ts.map +1 -1
  5. package/dist/module/db/SqlProvider.js +6 -24
  6. package/dist/module/db/SqlProvider.js.map +1 -1
  7. package/dist/module/index.d.ts +0 -3
  8. package/dist/module/index.d.ts.map +1 -1
  9. package/dist/module/index.js +3 -6
  10. package/dist/module/index.js.map +1 -1
  11. package/dist/module/transaction/Wif.d.ts +4 -8
  12. package/dist/module/transaction/Wif.d.ts.map +1 -1
  13. package/dist/module/transaction/Wif.js +6 -10
  14. package/dist/module/transaction/Wif.js.map +1 -1
  15. package/dist/module/util/deriveCashaddr.d.ts +1 -0
  16. package/dist/module/util/deriveCashaddr.d.ts.map +1 -1
  17. package/dist/module/util/deriveCashaddr.js +8 -1
  18. package/dist/module/util/deriveCashaddr.js.map +1 -1
  19. package/dist/module/wallet/Base.d.ts +1 -1
  20. package/dist/module/wallet/Base.js +1 -1
  21. package/dist/module/wallet/Bcmr.d.ts +3 -1
  22. package/dist/module/wallet/Bcmr.d.ts.map +1 -1
  23. package/dist/module/wallet/Bcmr.js +4 -8
  24. package/dist/module/wallet/Bcmr.js.map +1 -1
  25. package/dist/module/wallet/Util.d.ts +2 -2
  26. package/dist/module/wallet/Util.js +2 -2
  27. package/dist/module/wallet/Wif.d.ts +0 -28
  28. package/dist/module/wallet/Wif.d.ts.map +1 -1
  29. package/dist/module/wallet/Wif.js +2 -109
  30. package/dist/module/wallet/Wif.js.map +1 -1
  31. package/dist/module/wallet/createWallet.d.ts +0 -12
  32. package/dist/module/wallet/createWallet.d.ts.map +1 -1
  33. package/dist/module/wallet/createWallet.js +0 -43
  34. package/dist/module/wallet/createWallet.js.map +1 -1
  35. package/dist/module/wallet/interface.d.ts +0 -2
  36. package/dist/module/wallet/interface.d.ts.map +1 -1
  37. package/dist/module/webhook/Webhook.d.ts +1 -6
  38. package/dist/module/webhook/Webhook.d.ts.map +1 -1
  39. package/dist/module/webhook/Webhook.js +0 -4
  40. package/dist/module/webhook/Webhook.js.map +1 -1
  41. package/dist/module/webhook/index.d.ts +0 -1
  42. package/dist/module/webhook/index.d.ts.map +1 -1
  43. package/dist/module/webhook/index.js +0 -1
  44. package/dist/module/webhook/index.js.map +1 -1
  45. package/dist/module/webhook/interface.d.ts +0 -1
  46. package/dist/module/webhook/interface.d.ts.map +1 -1
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +5 -10
  49. package/src/db/SqlProvider.test.ts +2 -18
  50. package/src/db/SqlProvider.ts +5 -26
  51. package/src/index.ts +3 -7
  52. package/src/transaction/Wif.ts +2 -19
  53. package/src/util/deriveCashaddr.test.ts +8 -0
  54. package/src/util/deriveCashaddr.ts +9 -0
  55. package/src/wallet/Base.ts +1 -1
  56. package/src/wallet/Bcmr.ts +4 -9
  57. package/src/wallet/Util.ts +2 -2
  58. package/src/wallet/Wif.test.ts +0 -23
  59. package/src/wallet/Wif.ts +2 -148
  60. package/src/wallet/createWallet.ts +0 -53
  61. package/src/wallet/interface.ts +0 -2
  62. package/src/webhook/Webhook.ts +4 -10
  63. package/src/webhook/index.ts +0 -1
  64. package/src/webhook/interface.ts +0 -1
  65. package/webpack.config.cjs +7 -7
  66. package/dist/module/slp/GsppProvider.d.ts +0 -55
  67. package/dist/module/slp/GsppProvider.d.ts.map +0 -1
  68. package/dist/module/slp/GsppProvider.js +0 -204
  69. package/dist/module/slp/GsppProvider.js.map +0 -1
  70. package/dist/module/slp/SlpDbProvider.d.ts +0 -52
  71. package/dist/module/slp/SlpDbProvider.d.ts.map +0 -1
  72. package/dist/module/slp/SlpDbProvider.js +0 -175
  73. package/dist/module/slp/SlpDbProvider.js.map +0 -1
  74. package/dist/module/slp/SlpDbTemplates.d.ts +0 -313
  75. package/dist/module/slp/SlpDbTemplates.d.ts.map +0 -1
  76. package/dist/module/slp/SlpDbTemplates.js +0 -375
  77. package/dist/module/slp/SlpDbTemplates.js.map +0 -1
  78. package/dist/module/slp/SlpLibAuth.d.ts +0 -210
  79. package/dist/module/slp/SlpLibAuth.d.ts.map +0 -1
  80. package/dist/module/slp/SlpLibAuth.js +0 -451
  81. package/dist/module/slp/SlpLibAuth.js.map +0 -1
  82. package/dist/module/slp/SlpProvider.d.ts +0 -24
  83. package/dist/module/slp/SlpProvider.d.ts.map +0 -1
  84. package/dist/module/slp/SlpProvider.js +0 -29
  85. package/dist/module/slp/SlpProvider.js.map +0 -1
  86. package/dist/module/slp/index.d.ts +0 -6
  87. package/dist/module/slp/index.d.ts.map +0 -1
  88. package/dist/module/slp/index.js +0 -5
  89. package/dist/module/slp/index.js.map +0 -1
  90. package/dist/module/slp/interface.d.ts +0 -114
  91. package/dist/module/slp/interface.d.ts.map +0 -1
  92. package/dist/module/slp/interface.js +0 -7
  93. package/dist/module/slp/interface.js.map +0 -1
  94. package/dist/module/util/bchaddr.d.ts +0 -2
  95. package/dist/module/util/bchaddr.d.ts.map +0 -1
  96. package/dist/module/util/bchaddr.js +0 -16
  97. package/dist/module/util/bchaddr.js.map +0 -1
  98. package/dist/module/wallet/Slp.d.ts +0 -431
  99. package/dist/module/wallet/Slp.d.ts.map +0 -1
  100. package/dist/module/wallet/Slp.js +0 -770
  101. package/dist/module/wallet/Slp.js.map +0 -1
  102. package/dist/module/webhook/WebhookSlp.d.ts +0 -15
  103. package/dist/module/webhook/WebhookSlp.d.ts.map +0 -1
  104. package/dist/module/webhook/WebhookSlp.js +0 -100
  105. package/dist/module/webhook/WebhookSlp.js.map +0 -1
  106. package/src/slp/GsppProvider.test.ts +0 -40
  107. package/src/slp/GsppProvider.ts +0 -329
  108. package/src/slp/SlpDbProvider.test.ts +0 -27
  109. package/src/slp/SlpDbProvider.ts +0 -291
  110. package/src/slp/SlpDbTemplates.ts +0 -400
  111. package/src/slp/SlpLibAuth.test.ts +0 -162
  112. package/src/slp/SlpLibAuth.ts +0 -532
  113. package/src/slp/SlpProvider.ts +0 -100
  114. package/src/slp/index.ts +0 -6
  115. package/src/slp/interface.ts +0 -128
  116. package/src/util/bchaddr.test.ts +0 -27
  117. package/src/util/bchaddr.ts +0 -27
  118. package/src/wallet/Slp.test.headless.js +0 -120
  119. package/src/wallet/Slp.test.ts +0 -1000
  120. package/src/wallet/Slp.ts +0 -1014
  121. package/src/webhook/WebhookSlp.test.ts +0 -288
  122. package/src/webhook/WebhookSlp.ts +0 -123
@@ -1,313 +0,0 @@
1
- export declare const SlpAllUtxosTemplate: (slpaddr: string) => {
2
- v: number;
3
- q: {
4
- db: string[];
5
- aggregate: ({
6
- $match: {
7
- "graphTxn.outputs.address": string;
8
- "graphTxn.outputs.status": {
9
- $in: string[];
10
- };
11
- };
12
- $unwind?: undefined;
13
- } | {
14
- $unwind: string;
15
- $match?: undefined;
16
- })[];
17
- limit: number;
18
- };
19
- r: {
20
- f: string;
21
- };
22
- };
23
- export declare const SlpAllOutpointsTemplate: (slpaddr: string) => {
24
- v: number;
25
- q: {
26
- db: string[];
27
- aggregate: ({
28
- $match: {
29
- "graphTxn.outputs.address": string;
30
- "graphTxn.outputs.status": {
31
- $in: string[];
32
- };
33
- };
34
- $unwind?: undefined;
35
- $project?: undefined;
36
- } | {
37
- $unwind: string;
38
- $match?: undefined;
39
- $project?: undefined;
40
- } | {
41
- $project: {
42
- graphTxn: number;
43
- };
44
- $match?: undefined;
45
- $unwind?: undefined;
46
- })[];
47
- limit: number;
48
- };
49
- r: {
50
- f: string;
51
- };
52
- };
53
- export declare const SlpSpendableUtxosTemplate: (slpaddr: string, tokenId?: string | undefined) => {
54
- v: number;
55
- q: {
56
- db: string[];
57
- aggregate: ({
58
- $match: {
59
- "graphTxn.outputs.address": string;
60
- "graphTxn.outputs.status": string;
61
- };
62
- $unwind?: undefined;
63
- $lookup?: undefined;
64
- } | {
65
- $unwind: string;
66
- $match?: undefined;
67
- $lookup?: undefined;
68
- } | {
69
- $lookup: {
70
- from: string;
71
- localField: string;
72
- foreignField: string;
73
- as: string;
74
- };
75
- $match?: undefined;
76
- $unwind?: undefined;
77
- })[];
78
- };
79
- r: {
80
- f: string;
81
- };
82
- };
83
- export declare const SlpAllTokenBalancesTemplate: (slpaddr: string) => {
84
- v: number;
85
- q: {
86
- db: string[];
87
- aggregate: ({
88
- $match: {
89
- "graphTxn.outputs.status": string;
90
- "graphTxn.outputs.address": string;
91
- slpAmount?: undefined;
92
- };
93
- $unwind?: undefined;
94
- $group?: undefined;
95
- $sort?: undefined;
96
- $lookup?: undefined;
97
- } | {
98
- $unwind: string;
99
- $match?: undefined;
100
- $group?: undefined;
101
- $sort?: undefined;
102
- $lookup?: undefined;
103
- } | {
104
- $group: {
105
- _id: string;
106
- slpAmount: {
107
- $sum: string;
108
- };
109
- };
110
- $match?: undefined;
111
- $unwind?: undefined;
112
- $sort?: undefined;
113
- $lookup?: undefined;
114
- } | {
115
- $sort: {
116
- slpAmount: number;
117
- };
118
- $match?: undefined;
119
- $unwind?: undefined;
120
- $group?: undefined;
121
- $lookup?: undefined;
122
- } | {
123
- $lookup: {
124
- from: string;
125
- localField: string;
126
- foreignField: string;
127
- as: string;
128
- };
129
- $match?: undefined;
130
- $unwind?: undefined;
131
- $group?: undefined;
132
- $sort?: undefined;
133
- } | {
134
- $match: {
135
- slpAmount: {
136
- $gt: number;
137
- };
138
- "graphTxn.outputs.status"?: undefined;
139
- "graphTxn.outputs.address"?: undefined;
140
- };
141
- $unwind?: undefined;
142
- $group?: undefined;
143
- $sort?: undefined;
144
- $lookup?: undefined;
145
- })[];
146
- sort: {
147
- slpAmount: number;
148
- };
149
- };
150
- r: {
151
- f: string;
152
- };
153
- };
154
- export declare const SlpTokenBalanceTemplate: (slpaddr: string, tokenId: string) => {
155
- v: number;
156
- q: {
157
- db: string[];
158
- aggregate: ({
159
- $match: {
160
- "tokenDetails.tokenIdHex": string;
161
- "graphTxn.outputs.status"?: undefined;
162
- "graphTxn.outputs.address"?: undefined;
163
- };
164
- $unwind?: undefined;
165
- $group?: undefined;
166
- $sort?: undefined;
167
- $lookup?: undefined;
168
- } | {
169
- $match: {
170
- "graphTxn.outputs.status": string;
171
- "graphTxn.outputs.address": string;
172
- "tokenDetails.tokenIdHex"?: undefined;
173
- };
174
- $unwind?: undefined;
175
- $group?: undefined;
176
- $sort?: undefined;
177
- $lookup?: undefined;
178
- } | {
179
- $unwind: string;
180
- $match?: undefined;
181
- $group?: undefined;
182
- $sort?: undefined;
183
- $lookup?: undefined;
184
- } | {
185
- $group: {
186
- _id: string;
187
- slpAmount: {
188
- $sum: string;
189
- };
190
- };
191
- $match?: undefined;
192
- $unwind?: undefined;
193
- $sort?: undefined;
194
- $lookup?: undefined;
195
- } | {
196
- $sort: {
197
- slpAmount: number;
198
- };
199
- $match?: undefined;
200
- $unwind?: undefined;
201
- $group?: undefined;
202
- $lookup?: undefined;
203
- } | {
204
- $lookup: {
205
- from: string;
206
- localField: string;
207
- foreignField: string;
208
- as: string;
209
- };
210
- $match?: undefined;
211
- $unwind?: undefined;
212
- $group?: undefined;
213
- $sort?: undefined;
214
- })[];
215
- sort: {
216
- slpAmount: number;
217
- };
218
- };
219
- r: {
220
- f: string;
221
- };
222
- };
223
- export declare const SlpAddressTransactionHistoryTemplate: (address: string, tokenId?: string | undefined, limit?: number, skip?: number) => {
224
- v: number;
225
- q: {
226
- db: string[];
227
- find: {
228
- $query: {
229
- $or: ({
230
- "in.e.a": string;
231
- "out.e.a"?: undefined;
232
- } | {
233
- "out.e.a": string;
234
- "in.e.a"?: undefined;
235
- })[];
236
- $and: {
237
- "slp.valid": boolean;
238
- }[];
239
- };
240
- };
241
- sort: {
242
- "blk.i": number;
243
- };
244
- limit: number;
245
- skip: number;
246
- };
247
- r: {
248
- f: string;
249
- };
250
- };
251
- export declare const SlpWaitForTransactionTemplate: (slpaddr?: string | undefined, tokenId?: string | undefined) => {
252
- v: number;
253
- q: {
254
- db: string[];
255
- find: {};
256
- };
257
- };
258
- export declare const SlpTokenInfoTemplate: (tokenId?: string | undefined, limit?: number, skip?: number) => {
259
- v: number;
260
- q: {
261
- db: string[];
262
- find: {};
263
- sort: {
264
- "tokenStats.approx_txns_since_genesis": number;
265
- };
266
- limit: number;
267
- skip: number;
268
- };
269
- r: {
270
- f: string;
271
- };
272
- };
273
- export declare const SlpBatonUtxosTemplate: (slpaddr: string, tokenId?: string | undefined) => {
274
- v: number;
275
- q: {
276
- db: string[];
277
- aggregate: ({
278
- $match: {
279
- "graphTxn.outputs.address": string;
280
- "graphTxn.outputs.status": string;
281
- };
282
- $unwind?: undefined;
283
- $project?: undefined;
284
- $lookup?: undefined;
285
- } | {
286
- $unwind: string;
287
- $match?: undefined;
288
- $project?: undefined;
289
- $lookup?: undefined;
290
- } | {
291
- $project: {
292
- graphTxn: number;
293
- };
294
- $match?: undefined;
295
- $unwind?: undefined;
296
- $lookup?: undefined;
297
- } | {
298
- $lookup: {
299
- from: string;
300
- localField: string;
301
- foreignField: string;
302
- as: string;
303
- };
304
- $match?: undefined;
305
- $unwind?: undefined;
306
- $project?: undefined;
307
- })[];
308
- };
309
- r: {
310
- f: string;
311
- };
312
- };
313
- //# sourceMappingURL=SlpDbTemplates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlpDbTemplates.d.ts","sourceRoot":"","sources":["../../../src/slp/SlpDbTemplates.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;CAoCjD,CAAC;AAIH,eAAO,MAAM,uBAAuB,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrD,CAAC;AAIH,eAAO,MAAM,yBAAyB,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxD,CAAA;AAGD,eAAO,MAAM,2BAA2B,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D1D,CAAA;AAGD,eAAO,MAAM,uBAAuB,YAAa,MAAM,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DvE,CAAA;AAGD,eAAO,MAAM,oCAAoC,YAAa,MAAM,wCAA2B,MAAM,SAAc,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCxH,CAAC;AAGF,eAAO,MAAM,6BAA6B;;;;;;CA0BzC,CAAC;AAIF,eAAO,MAAM,oBAAoB,yCAA6B,MAAM,SAAc,MAAM;;;;;;;;;;;;;;CAwBvF,CAAA;AAID,eAAO,MAAM,qBAAqB,YAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CpD,CAAA"}
@@ -1,375 +0,0 @@
1
- // Slp Utxos for bch operation, to prevent accident burning of tokens and baton
2
- // prettier-ignore
3
- export const SlpAllUtxosTemplate = (slpaddr) => ({
4
- "v": 3,
5
- "q": {
6
- "db": ["g"],
7
- "aggregate": [
8
- {
9
- "$match": {
10
- "graphTxn.outputs.address": slpaddr,
11
- "graphTxn.outputs.status": {
12
- "$in": [
13
- "UNSPENT",
14
- "BATON_UNSPENT"
15
- ]
16
- }
17
- }
18
- },
19
- {
20
- "$unwind": "$graphTxn.outputs"
21
- },
22
- {
23
- "$match": {
24
- "graphTxn.outputs.address": slpaddr,
25
- "graphTxn.outputs.status": {
26
- "$in": [
27
- "UNSPENT",
28
- "BATON_UNSPENT"
29
- ]
30
- }
31
- }
32
- }
33
- ],
34
- "limit": 1e6,
35
- },
36
- "r": {
37
- "f": "[ .[] | { txid: .graphTxn.txid, vout: .graphTxn.outputs.vout, satoshis: .graphTxn.outputs.bchSatoshis, value: .graphTxn.outputs.slpAmount, decimals: .graphTxn.details.decimals, ticker: .graphTxn.details.symbol, tokenId: .graphTxn.details.tokenIdHex, type: .graphTxn.details.versionType, parentTokenId: .tokenDetails.nftGroupIdHex } ]"
38
- }
39
- });
40
- // Slp outpoints for bch operation, to prevent accident burning of tokens and baton
41
- // prettier-ignore
42
- export const SlpAllOutpointsTemplate = (slpaddr) => ({
43
- "v": 3,
44
- "q": {
45
- "db": ["g"],
46
- "aggregate": [
47
- {
48
- "$match": {
49
- "graphTxn.outputs.address": slpaddr,
50
- "graphTxn.outputs.status": {
51
- "$in": [
52
- "UNSPENT",
53
- "BATON_UNSPENT"
54
- ]
55
- }
56
- }
57
- },
58
- {
59
- "$unwind": "$graphTxn.outputs"
60
- },
61
- {
62
- "$match": {
63
- "graphTxn.outputs.address": slpaddr,
64
- "graphTxn.outputs.status": {
65
- "$in": [
66
- "UNSPENT",
67
- "BATON_UNSPENT"
68
- ]
69
- }
70
- }
71
- },
72
- {
73
- "$project": {
74
- "graphTxn": 1
75
- }
76
- }
77
- ],
78
- "limit": 1e6,
79
- },
80
- "r": {
81
- "f": "[ .[] | [.graphTxn.txid, .graphTxn.outputs.vout | tostring] | join(\":\") ]"
82
- }
83
- });
84
- // Slp Utxos for spending
85
- // prettier-ignore
86
- export const SlpSpendableUtxosTemplate = (slpaddr, tokenId) => {
87
- let q = {
88
- "v": 3,
89
- "q": {
90
- "db": ["g"],
91
- "aggregate": [
92
- {
93
- "$match": {
94
- "graphTxn.outputs.address": slpaddr,
95
- "graphTxn.outputs.status": "UNSPENT"
96
- }
97
- },
98
- {
99
- "$unwind": "$graphTxn.outputs"
100
- },
101
- {
102
- "$match": {
103
- "graphTxn.outputs.address": slpaddr,
104
- "graphTxn.outputs.status": "UNSPENT"
105
- }
106
- },
107
- {
108
- "$lookup": {
109
- "from": "tokens",
110
- "localField": "graphTxn.details.tokenIdHex",
111
- "foreignField": "tokenDetails.tokenIdHex",
112
- "as": "token"
113
- }
114
- }
115
- ]
116
- },
117
- "r": {
118
- "f": "[ .[] | { txid: .graphTxn.txid, vout: .graphTxn.outputs.vout, satoshis: .graphTxn.outputs.bchSatoshis, value: .graphTxn.outputs.slpAmount, decimals: .token[0].tokenDetails.decimals, ticker: .token[0].tokenDetails.symbol, tokenId: .graphTxn.details.tokenIdHex, type: .graphTxn.details.versionType, parentTokenId: .token[0].nftParentId } ]"
119
- }
120
- };
121
- if (tokenId) {
122
- q["q"]["aggregate"][0]["$match"]["graphTxn.details.tokenIdHex"] = tokenId;
123
- }
124
- // console.log(JSON.stringify(q, null, 2));
125
- return q;
126
- };
127
- // prettier-ignore
128
- export const SlpAllTokenBalancesTemplate = (slpaddr) => {
129
- let q = {
130
- "v": 3,
131
- "q": {
132
- "db": ["g"],
133
- "aggregate": [
134
- {
135
- "$match": {
136
- "graphTxn.outputs.status": "UNSPENT",
137
- "graphTxn.outputs.address": slpaddr
138
- }
139
- },
140
- {
141
- "$unwind": "$graphTxn.outputs"
142
- },
143
- {
144
- "$match": {
145
- "graphTxn.outputs.status": "UNSPENT",
146
- "graphTxn.outputs.address": slpaddr
147
- }
148
- },
149
- {
150
- "$group": {
151
- "_id": "$tokenDetails.tokenIdHex",
152
- "slpAmount": {
153
- "$sum": "$graphTxn.outputs.slpAmount"
154
- }
155
- }
156
- },
157
- {
158
- "$sort": {
159
- "slpAmount": -1
160
- }
161
- },
162
- {
163
- "$lookup": {
164
- "from": "tokens",
165
- "localField": "_id",
166
- "foreignField": "tokenDetails.tokenIdHex",
167
- "as": "token"
168
- }
169
- },
170
- {
171
- "$match": {
172
- "slpAmount": {
173
- "$gt": 0
174
- }
175
- }
176
- }
177
- ],
178
- "sort": {
179
- "slpAmount": -1
180
- }
181
- },
182
- "r": {
183
- "f": "[ .[] | { value: .slpAmount, ticker: .token[0].tokenDetails.symbol, name: .token[0].tokenDetails.name, tokenId: ._id, type: .token[0].tokenDetails.versionType, parentTokenId: .token[0].nftParentId } ]"
184
- }
185
- };
186
- return q;
187
- };
188
- // prettier-ignore
189
- export const SlpTokenBalanceTemplate = (slpaddr, tokenId) => {
190
- let q = {
191
- "v": 3,
192
- "q": {
193
- "db": ["g"],
194
- "aggregate": [
195
- {
196
- "$match": {
197
- "tokenDetails.tokenIdHex": tokenId
198
- }
199
- },
200
- {
201
- "$match": {
202
- "graphTxn.outputs.status": "UNSPENT",
203
- "graphTxn.outputs.address": slpaddr
204
- }
205
- },
206
- {
207
- "$unwind": "$graphTxn.outputs"
208
- },
209
- {
210
- "$match": {
211
- "graphTxn.outputs.status": "UNSPENT",
212
- "graphTxn.outputs.address": slpaddr
213
- }
214
- },
215
- {
216
- "$group": {
217
- "_id": "$tokenDetails.tokenIdHex",
218
- "slpAmount": {
219
- "$sum": "$graphTxn.outputs.slpAmount"
220
- }
221
- }
222
- },
223
- {
224
- "$sort": {
225
- "slpAmount": -1
226
- }
227
- },
228
- {
229
- "$lookup": {
230
- "from": "tokens",
231
- "localField": "_id",
232
- "foreignField": "tokenDetails.tokenIdHex",
233
- "as": "token"
234
- }
235
- }
236
- ],
237
- "sort": {
238
- "slpAmount": -1
239
- }
240
- },
241
- "r": {
242
- "f": "[ .[] | { value: .slpAmount, ticker: .token[0].tokenDetails.symbol, name: .token[0].tokenDetails.name, tokenId: ._id, type: .token[0].tokenDetails.versionType, parentTokenId: .token[0].nftParentId } ]"
243
- }
244
- };
245
- // console.log(JSON.stringify(q, null, 2));
246
- return q;
247
- };
248
- // prettier-ignore
249
- export const SlpAddressTransactionHistoryTemplate = (address, tokenId, limit = 100, skip = 0) => {
250
- const q = {
251
- "v": 3,
252
- "q": {
253
- "db": ["c", "u"],
254
- "find": {
255
- "$query": {
256
- "$or": [
257
- { "in.e.a": address },
258
- { "out.e.a": address },
259
- ],
260
- "$and": [
261
- { "slp.valid": true },
262
- ]
263
- },
264
- },
265
- "sort": { "blk.i": 1 },
266
- "limit": limit,
267
- "skip": skip,
268
- },
269
- "r": {
270
- "f": "[ .[] | { tx_hash: .tx.h, height: .blk.i, details: . } ]"
271
- }
272
- };
273
- if (tokenId) {
274
- q["q"]["find"]["$query"]["$and"].push({ "slp.detail.tokenIdHex": tokenId });
275
- }
276
- // console.log(JSON.stringify(q, null, 2));
277
- return q;
278
- };
279
- // prettier-ignore
280
- export const SlpWaitForTransactionTemplate = (slpaddr, tokenId) => {
281
- let q = {
282
- "v": 3,
283
- "q": {
284
- "db": ["c", "u"],
285
- "find": {}
286
- }
287
- };
288
- if (slpaddr) {
289
- q["q"]["find"]["$or"] = [
290
- {
291
- "in.e.a": slpaddr
292
- },
293
- {
294
- "out.e.a": slpaddr
295
- }
296
- ];
297
- }
298
- if (tokenId) {
299
- q["q"]["find"]["slp.detail.tokenIdHex"] = tokenId;
300
- }
301
- return q;
302
- };
303
- // Lookup SLP token information
304
- // prettier-ignore
305
- export const SlpTokenInfoTemplate = (tokenId, limit = 100, skip = 0) => {
306
- let q = {
307
- "v": 3,
308
- "q": {
309
- "db": ["t"],
310
- "find": {},
311
- "sort": {
312
- "tokenStats.approx_txns_since_genesis": -1
313
- },
314
- "limit": limit,
315
- "skip": skip,
316
- },
317
- "r": {
318
- "f": "[ .[] | { ticker: .tokenDetails.symbol, name: .tokenDetails.name, tokenId: .tokenDetails.tokenIdHex, decimals: .tokenDetails.decimals, documentUrl: .tokenDetails.documentUri, documentHash: .tokenDetails.documentSha256Hex, initialAmount: .tokenDetails.genesisOrMintQuantity, type: .tokenDetails.versionType, parentTokenId: .nftParentId } ]"
319
- }
320
- };
321
- if (tokenId) {
322
- q["q"]["find"]["tokenDetails.tokenIdHex"] = tokenId;
323
- }
324
- // console.log(q);
325
- return q;
326
- };
327
- // Slp Utxos for bch operation, to prevent accident burning of tokens and baton
328
- // prettier-ignore
329
- export const SlpBatonUtxosTemplate = (slpaddr, tokenId) => {
330
- let q = {
331
- "v": 3,
332
- "q": {
333
- "db": ["g"],
334
- "aggregate": [
335
- {
336
- "$match": {
337
- "graphTxn.outputs.address": slpaddr,
338
- "graphTxn.outputs.status": "BATON_UNSPENT"
339
- }
340
- },
341
- {
342
- "$unwind": "$graphTxn.outputs"
343
- },
344
- {
345
- "$match": {
346
- "graphTxn.outputs.address": slpaddr,
347
- "graphTxn.outputs.status": "BATON_UNSPENT"
348
- }
349
- },
350
- {
351
- "$project": {
352
- "graphTxn": 1
353
- }
354
- },
355
- {
356
- "$lookup": {
357
- "from": "tokens",
358
- "localField": "graphTxn.details.tokenIdHex",
359
- "foreignField": "tokenDetails.tokenIdHex",
360
- "as": "token"
361
- }
362
- }
363
- ]
364
- },
365
- "r": {
366
- "f": "[ .[] | { txid: .graphTxn.txid, vout: .graphTxn.outputs.vout, satoshis: .graphTxn.outputs.bchSatoshis, value: .graphTxn.outputs.slpAmount, decimals: .token[0].tokenDetails.decimals, ticker: .token[0].tokenDetails.symbol, tokenId: .graphTxn.details.tokenIdHex, type: .graphTxn.details.versionType } ]"
367
- }
368
- };
369
- if (tokenId) {
370
- q["q"]["aggregate"][0]["$match"]["graphTxn.details.tokenIdHex"] = tokenId;
371
- }
372
- // console.log(JSON.stringify(q, null, 2));
373
- return q;
374
- };
375
- //# sourceMappingURL=SlpDbTemplates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlpDbTemplates.js","sourceRoot":"","sources":["../../../src/slp/SlpDbTemplates.ts"],"names":[],"mappings":"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"}