bitbadgesjs-sdk 0.31.1 → 0.31.2

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 (99) hide show
  1. package/dist/cjs/api-indexer/BitBadgesCollection.d.ts +1 -0
  2. package/dist/cjs/api-indexer/BitBadgesCollection.d.ts.map +1 -1
  3. package/dist/cjs/api-indexer/BitBadgesCollection.js +4 -1
  4. package/dist/cjs/api-indexer/BitBadgesCollection.js.map +1 -1
  5. package/dist/cjs/core/approval-utils.spec.d.ts +2 -0
  6. package/dist/cjs/core/approval-utils.spec.d.ts.map +1 -0
  7. package/dist/cjs/core/approval-utils.spec.js +240 -0
  8. package/dist/cjs/core/approval-utils.spec.js.map +1 -0
  9. package/dist/cjs/core/approvals.spec.js +96 -0
  10. package/dist/cjs/core/approvals.spec.js.map +1 -1
  11. package/dist/cjs/core/bids.spec.d.ts +2 -0
  12. package/dist/cjs/core/bids.spec.d.ts.map +1 -0
  13. package/dist/cjs/core/bids.spec.js +201 -0
  14. package/dist/cjs/core/bids.spec.js.map +1 -0
  15. package/dist/cjs/core/blockin.spec.d.ts +2 -0
  16. package/dist/cjs/core/blockin.spec.d.ts.map +1 -0
  17. package/dist/cjs/core/blockin.spec.js +163 -0
  18. package/dist/cjs/core/blockin.spec.js.map +1 -0
  19. package/dist/cjs/core/coin.spec.d.ts +2 -0
  20. package/dist/cjs/core/coin.spec.d.ts.map +1 -0
  21. package/dist/cjs/core/coin.spec.js +80 -0
  22. package/dist/cjs/core/coin.spec.js.map +1 -0
  23. package/dist/cjs/core/cosmos-wrappers.spec.d.ts +2 -0
  24. package/dist/cjs/core/cosmos-wrappers.spec.d.ts.map +1 -0
  25. package/dist/cjs/core/cosmos-wrappers.spec.js +623 -0
  26. package/dist/cjs/core/cosmos-wrappers.spec.js.map +1 -0
  27. package/dist/cjs/core/managersplitter.spec.d.ts +2 -0
  28. package/dist/cjs/core/managersplitter.spec.d.ts.map +1 -0
  29. package/dist/cjs/core/managersplitter.spec.js +170 -0
  30. package/dist/cjs/core/managersplitter.spec.js.map +1 -0
  31. package/dist/cjs/core/overlaps.spec.js +201 -0
  32. package/dist/cjs/core/overlaps.spec.js.map +1 -1
  33. package/dist/cjs/core/permission-utils.spec.d.ts +2 -0
  34. package/dist/cjs/core/permission-utils.spec.d.ts.map +1 -0
  35. package/dist/cjs/core/permission-utils.spec.js +192 -0
  36. package/dist/cjs/core/permission-utils.spec.js.map +1 -0
  37. package/dist/cjs/core/permissions.spec.js +1069 -0
  38. package/dist/cjs/core/permissions.spec.js.map +1 -1
  39. package/dist/cjs/core/transfers.spec.js +524 -0
  40. package/dist/cjs/core/transfers.spec.js.map +1 -1
  41. package/dist/cjs/core/userBalances.spec.d.ts +2 -0
  42. package/dist/cjs/core/userBalances.spec.d.ts.map +1 -0
  43. package/dist/cjs/core/userBalances.spec.js +184 -0
  44. package/dist/cjs/core/userBalances.spec.js.map +1 -0
  45. package/dist/cjs/core/validate-utils.spec.d.ts +2 -0
  46. package/dist/cjs/core/validate-utils.spec.d.ts.map +1 -0
  47. package/dist/cjs/core/validate-utils.spec.js +202 -0
  48. package/dist/cjs/core/validate-utils.spec.js.map +1 -0
  49. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  50. package/dist/esm/api-indexer/BitBadgesCollection.d.ts +1 -0
  51. package/dist/esm/api-indexer/BitBadgesCollection.d.ts.map +1 -1
  52. package/dist/esm/api-indexer/BitBadgesCollection.js +4 -1
  53. package/dist/esm/api-indexer/BitBadgesCollection.js.map +1 -1
  54. package/dist/esm/core/approval-utils.spec.d.ts +2 -0
  55. package/dist/esm/core/approval-utils.spec.d.ts.map +1 -0
  56. package/dist/esm/core/approval-utils.spec.js +238 -0
  57. package/dist/esm/core/approval-utils.spec.js.map +1 -0
  58. package/dist/esm/core/approvals.spec.js +97 -1
  59. package/dist/esm/core/approvals.spec.js.map +1 -1
  60. package/dist/esm/core/bids.spec.d.ts +2 -0
  61. package/dist/esm/core/bids.spec.d.ts.map +1 -0
  62. package/dist/esm/core/bids.spec.js +199 -0
  63. package/dist/esm/core/bids.spec.js.map +1 -0
  64. package/dist/esm/core/blockin.spec.d.ts +2 -0
  65. package/dist/esm/core/blockin.spec.d.ts.map +1 -0
  66. package/dist/esm/core/blockin.spec.js +161 -0
  67. package/dist/esm/core/blockin.spec.js.map +1 -0
  68. package/dist/esm/core/coin.spec.d.ts +2 -0
  69. package/dist/esm/core/coin.spec.d.ts.map +1 -0
  70. package/dist/esm/core/coin.spec.js +78 -0
  71. package/dist/esm/core/coin.spec.js.map +1 -0
  72. package/dist/esm/core/cosmos-wrappers.spec.d.ts +2 -0
  73. package/dist/esm/core/cosmos-wrappers.spec.d.ts.map +1 -0
  74. package/dist/esm/core/cosmos-wrappers.spec.js +621 -0
  75. package/dist/esm/core/cosmos-wrappers.spec.js.map +1 -0
  76. package/dist/esm/core/managersplitter.spec.d.ts +2 -0
  77. package/dist/esm/core/managersplitter.spec.d.ts.map +1 -0
  78. package/dist/esm/core/managersplitter.spec.js +168 -0
  79. package/dist/esm/core/managersplitter.spec.js.map +1 -0
  80. package/dist/esm/core/overlaps.spec.js +202 -1
  81. package/dist/esm/core/overlaps.spec.js.map +1 -1
  82. package/dist/esm/core/permission-utils.spec.d.ts +2 -0
  83. package/dist/esm/core/permission-utils.spec.d.ts.map +1 -0
  84. package/dist/esm/core/permission-utils.spec.js +190 -0
  85. package/dist/esm/core/permission-utils.spec.js.map +1 -0
  86. package/dist/esm/core/permissions.spec.js +1069 -0
  87. package/dist/esm/core/permissions.spec.js.map +1 -1
  88. package/dist/esm/core/transfers.spec.js +525 -1
  89. package/dist/esm/core/transfers.spec.js.map +1 -1
  90. package/dist/esm/core/userBalances.spec.d.ts +2 -0
  91. package/dist/esm/core/userBalances.spec.d.ts.map +1 -0
  92. package/dist/esm/core/userBalances.spec.js +182 -0
  93. package/dist/esm/core/userBalances.spec.js.map +1 -0
  94. package/dist/esm/core/validate-utils.spec.d.ts +2 -0
  95. package/dist/esm/core/validate-utils.spec.d.ts.map +1 -0
  96. package/dist/esm/core/validate-utils.spec.js +200 -0
  97. package/dist/esm/core/validate-utils.spec.js.map +1 -0
  98. package/dist/esm/tsconfig-esm.build.tsbuildinfo +1 -1
  99. package/package.json +4 -5
@@ -0,0 +1,623 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const addressLists_js_1 = require("./addressLists.js");
4
+ const approvals_js_1 = require("./approvals.js");
5
+ const uintRanges_js_1 = require("./uintRanges.js");
6
+ const ibc_wrappers_js_1 = require("./ibc-wrappers.js");
7
+ const misc_js_1 = require("./misc.js");
8
+ const cosmos_wrappers_js_1 = require("./cosmos-wrappers.js");
9
+ BigInt.prototype.toJSON = function () {
10
+ return this.toString();
11
+ };
12
+ const WRAPPER_ADDRESS = 'bb1wrapperaddressxxxxxxxxxxxxxxxxxxxxx';
13
+ function makePathObj(overrides) {
14
+ return new misc_js_1.CosmosCoinWrapperPath({
15
+ address: overrides?.address ?? WRAPPER_ADDRESS,
16
+ denom: 'ubadge',
17
+ conversion: new ibc_wrappers_js_1.ConversionWithoutDenom({
18
+ sideA: { amount: 1000n },
19
+ sideB: [
20
+ {
21
+ amount: 1n,
22
+ tokenIds: [{ start: 1n, end: 1n }],
23
+ ownershipTimes: [{ start: 1n, end: 100n }]
24
+ }
25
+ ]
26
+ }),
27
+ symbol: 'BADGE',
28
+ denomUnits: [],
29
+ allowOverrideWithAnyValidToken: overrides?.allowOverride ?? false,
30
+ metadata: new ibc_wrappers_js_1.PathMetadata({ uri: '', customData: '' })
31
+ });
32
+ }
33
+ function makeApproval(overrides) {
34
+ const toListId = overrides?.toListId ?? 'custom-to';
35
+ const fromListId = overrides?.fromListId ?? 'All';
36
+ return new approvals_js_1.CollectionApprovalWithDetails({
37
+ fromListId,
38
+ toListId,
39
+ initiatedByListId: 'All',
40
+ approvalId: 'test-wrapper-approval',
41
+ fromList: overrides?.fromListAddresses
42
+ ? new addressLists_js_1.AddressList({
43
+ listId: fromListId,
44
+ addresses: overrides.fromListAddresses,
45
+ whitelist: overrides.fromListWhitelist ?? true,
46
+ createdBy: '',
47
+ uri: '',
48
+ customData: ''
49
+ })
50
+ : addressLists_js_1.AddressList.AllAddresses(),
51
+ toList: new addressLists_js_1.AddressList({
52
+ listId: toListId,
53
+ addresses: overrides?.toListAddresses ?? [WRAPPER_ADDRESS],
54
+ whitelist: overrides?.toListWhitelist ?? true,
55
+ createdBy: '',
56
+ uri: '',
57
+ customData: ''
58
+ }),
59
+ initiatedByList: addressLists_js_1.AddressList.AllAddresses(),
60
+ transferTimes: [uintRanges_js_1.UintRange.FullRange()],
61
+ tokenIds: overrides?.tokenIds ?? [{ start: 1n, end: 1n }],
62
+ ownershipTimes: overrides?.ownershipTimes ?? [{ start: 1n, end: 100n }],
63
+ version: 0n,
64
+ approvalCriteria: overrides?.approvalCriteria
65
+ });
66
+ }
67
+ describe('approvalCriteriaHasNoAdditionalRestrictions', () => {
68
+ it('should return true when approvalCriteria is undefined', () => {
69
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)(undefined)).toBe(true);
70
+ });
71
+ it('should return true when approvalCriteria has no restrictions', () => {
72
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
73
+ requireFromEqualsInitiatedBy: false,
74
+ requireFromDoesNotEqualInitiatedBy: false,
75
+ requireToEqualsInitiatedBy: false,
76
+ requireToDoesNotEqualInitiatedBy: false,
77
+ overridesFromOutgoingApprovals: false,
78
+ overridesToIncomingApprovals: false,
79
+ merkleChallenges: [],
80
+ coinTransfers: [],
81
+ mustOwnTokens: [],
82
+ dynamicStoreChallenges: [],
83
+ ethSignatureChallenges: []
84
+ })).toBe(true);
85
+ });
86
+ it('should return false when requireFromEqualsInitiatedBy is true', () => {
87
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
88
+ requireFromEqualsInitiatedBy: true,
89
+ requireFromDoesNotEqualInitiatedBy: false,
90
+ requireToEqualsInitiatedBy: false,
91
+ requireToDoesNotEqualInitiatedBy: false,
92
+ overridesFromOutgoingApprovals: false,
93
+ overridesToIncomingApprovals: false,
94
+ merkleChallenges: [],
95
+ coinTransfers: [],
96
+ mustOwnTokens: [],
97
+ dynamicStoreChallenges: [],
98
+ ethSignatureChallenges: []
99
+ })).toBe(false);
100
+ });
101
+ it('should return false when requireToDoesNotEqualInitiatedBy is true', () => {
102
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
103
+ requireFromEqualsInitiatedBy: false,
104
+ requireFromDoesNotEqualInitiatedBy: false,
105
+ requireToEqualsInitiatedBy: false,
106
+ requireToDoesNotEqualInitiatedBy: true,
107
+ overridesFromOutgoingApprovals: false,
108
+ overridesToIncomingApprovals: false,
109
+ merkleChallenges: [],
110
+ coinTransfers: [],
111
+ mustOwnTokens: [],
112
+ dynamicStoreChallenges: [],
113
+ ethSignatureChallenges: []
114
+ })).toBe(false);
115
+ });
116
+ it('should return false when merkleChallenges is non-empty', () => {
117
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
118
+ requireFromEqualsInitiatedBy: false,
119
+ requireFromDoesNotEqualInitiatedBy: false,
120
+ requireToEqualsInitiatedBy: false,
121
+ requireToDoesNotEqualInitiatedBy: false,
122
+ overridesFromOutgoingApprovals: false,
123
+ overridesToIncomingApprovals: false,
124
+ merkleChallenges: [{ root: 'abc' }],
125
+ coinTransfers: [],
126
+ mustOwnTokens: [],
127
+ dynamicStoreChallenges: [],
128
+ ethSignatureChallenges: []
129
+ })).toBe(false);
130
+ });
131
+ it('should return false when coinTransfers is non-empty', () => {
132
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
133
+ requireFromEqualsInitiatedBy: false,
134
+ requireFromDoesNotEqualInitiatedBy: false,
135
+ requireToEqualsInitiatedBy: false,
136
+ requireToDoesNotEqualInitiatedBy: false,
137
+ overridesFromOutgoingApprovals: false,
138
+ overridesToIncomingApprovals: false,
139
+ merkleChallenges: [],
140
+ coinTransfers: [{ to: 'addr', coins: [] }],
141
+ mustOwnTokens: [],
142
+ dynamicStoreChallenges: [],
143
+ ethSignatureChallenges: []
144
+ })).toBe(false);
145
+ });
146
+ it('should return false when mustOwnTokens is non-empty', () => {
147
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
148
+ requireFromEqualsInitiatedBy: false,
149
+ requireFromDoesNotEqualInitiatedBy: false,
150
+ requireToEqualsInitiatedBy: false,
151
+ requireToDoesNotEqualInitiatedBy: false,
152
+ overridesFromOutgoingApprovals: false,
153
+ overridesToIncomingApprovals: false,
154
+ merkleChallenges: [],
155
+ coinTransfers: [],
156
+ mustOwnTokens: [{ collectionId: 1n }],
157
+ dynamicStoreChallenges: [],
158
+ ethSignatureChallenges: []
159
+ })).toBe(false);
160
+ });
161
+ it('should return false when overridesFromOutgoingApprovals is true and allowMintOverrides is false', () => {
162
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
163
+ requireFromEqualsInitiatedBy: false,
164
+ requireFromDoesNotEqualInitiatedBy: false,
165
+ requireToEqualsInitiatedBy: false,
166
+ requireToDoesNotEqualInitiatedBy: false,
167
+ overridesFromOutgoingApprovals: true,
168
+ overridesToIncomingApprovals: false,
169
+ merkleChallenges: [],
170
+ coinTransfers: [],
171
+ mustOwnTokens: [],
172
+ dynamicStoreChallenges: [],
173
+ ethSignatureChallenges: []
174
+ }, false, false)).toBe(false);
175
+ });
176
+ it('should return true when overridesFromOutgoingApprovals is true but allowMintOverrides is true', () => {
177
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
178
+ requireFromEqualsInitiatedBy: false,
179
+ requireFromDoesNotEqualInitiatedBy: false,
180
+ requireToEqualsInitiatedBy: false,
181
+ requireToDoesNotEqualInitiatedBy: false,
182
+ overridesFromOutgoingApprovals: true,
183
+ overridesToIncomingApprovals: false,
184
+ merkleChallenges: [],
185
+ coinTransfers: [],
186
+ mustOwnTokens: [],
187
+ dynamicStoreChallenges: [],
188
+ ethSignatureChallenges: []
189
+ }, true, false)).toBe(true);
190
+ });
191
+ it('should return true when overridesToIncomingApprovals is true but allowToOverrides is true', () => {
192
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
193
+ requireFromEqualsInitiatedBy: false,
194
+ requireFromDoesNotEqualInitiatedBy: false,
195
+ requireToEqualsInitiatedBy: false,
196
+ requireToDoesNotEqualInitiatedBy: false,
197
+ overridesFromOutgoingApprovals: false,
198
+ overridesToIncomingApprovals: true,
199
+ merkleChallenges: [],
200
+ coinTransfers: [],
201
+ mustOwnTokens: [],
202
+ dynamicStoreChallenges: [],
203
+ ethSignatureChallenges: []
204
+ }, false, true)).toBe(true);
205
+ });
206
+ it('should return false when ethSignatureChallenges is non-empty', () => {
207
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
208
+ requireFromEqualsInitiatedBy: false,
209
+ requireFromDoesNotEqualInitiatedBy: false,
210
+ requireToEqualsInitiatedBy: false,
211
+ requireToDoesNotEqualInitiatedBy: false,
212
+ overridesFromOutgoingApprovals: false,
213
+ overridesToIncomingApprovals: false,
214
+ merkleChallenges: [],
215
+ coinTransfers: [],
216
+ mustOwnTokens: [],
217
+ dynamicStoreChallenges: [],
218
+ ethSignatureChallenges: [{ signer: '0x...' }]
219
+ })).toBe(false);
220
+ });
221
+ it('should return false when userRoyalties has non-zero percentage', () => {
222
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAdditionalRestrictions)({
223
+ requireFromEqualsInitiatedBy: false,
224
+ requireFromDoesNotEqualInitiatedBy: false,
225
+ requireToEqualsInitiatedBy: false,
226
+ requireToDoesNotEqualInitiatedBy: false,
227
+ overridesFromOutgoingApprovals: false,
228
+ overridesToIncomingApprovals: false,
229
+ merkleChallenges: [],
230
+ coinTransfers: [],
231
+ mustOwnTokens: [],
232
+ dynamicStoreChallenges: [],
233
+ ethSignatureChallenges: [],
234
+ userRoyalties: { percentage: 5n, payoutAddress: 'bb1abc' }
235
+ })).toBe(false);
236
+ });
237
+ });
238
+ describe('approvalHasApprovalAmounts', () => {
239
+ it('should return false for undefined', () => {
240
+ expect((0, cosmos_wrappers_js_1.approvalHasApprovalAmounts)(undefined)).toBe(false);
241
+ });
242
+ it('should return false when all amounts are zero', () => {
243
+ expect((0, cosmos_wrappers_js_1.approvalHasApprovalAmounts)({
244
+ overallApprovalAmount: 0n,
245
+ perFromAddressApprovalAmount: 0n,
246
+ perToAddressApprovalAmount: 0n,
247
+ perInitiatedByAddressApprovalAmount: 0n
248
+ })).toBe(false);
249
+ });
250
+ it('should return true when overallApprovalAmount is non-zero', () => {
251
+ expect((0, cosmos_wrappers_js_1.approvalHasApprovalAmounts)({
252
+ overallApprovalAmount: 100n,
253
+ perFromAddressApprovalAmount: 0n,
254
+ perToAddressApprovalAmount: 0n,
255
+ perInitiatedByAddressApprovalAmount: 0n
256
+ })).toBe(true);
257
+ });
258
+ it('should return true when perToAddressApprovalAmount is non-zero', () => {
259
+ expect((0, cosmos_wrappers_js_1.approvalHasApprovalAmounts)({
260
+ overallApprovalAmount: 0n,
261
+ perFromAddressApprovalAmount: 0n,
262
+ perToAddressApprovalAmount: 50n,
263
+ perInitiatedByAddressApprovalAmount: 0n
264
+ })).toBe(true);
265
+ });
266
+ it('should return true when perInitiatedByAddressApprovalAmount is non-zero', () => {
267
+ expect((0, cosmos_wrappers_js_1.approvalHasApprovalAmounts)({
268
+ overallApprovalAmount: 0n,
269
+ perFromAddressApprovalAmount: 0n,
270
+ perToAddressApprovalAmount: 0n,
271
+ perInitiatedByAddressApprovalAmount: 1n
272
+ })).toBe(true);
273
+ });
274
+ });
275
+ describe('approvalHasMaxNumTransfers', () => {
276
+ it('should return false for undefined', () => {
277
+ expect((0, cosmos_wrappers_js_1.approvalHasMaxNumTransfers)(undefined)).toBe(false);
278
+ });
279
+ it('should return false when all max nums are zero', () => {
280
+ expect((0, cosmos_wrappers_js_1.approvalHasMaxNumTransfers)({
281
+ overallMaxNumTransfers: 0n,
282
+ perFromAddressMaxNumTransfers: 0n,
283
+ perToAddressMaxNumTransfers: 0n,
284
+ perInitiatedByAddressMaxNumTransfers: 0n
285
+ })).toBe(false);
286
+ });
287
+ it('should return true when overallMaxNumTransfers is non-zero', () => {
288
+ expect((0, cosmos_wrappers_js_1.approvalHasMaxNumTransfers)({
289
+ overallMaxNumTransfers: 5n,
290
+ perFromAddressMaxNumTransfers: 0n,
291
+ perToAddressMaxNumTransfers: 0n,
292
+ perInitiatedByAddressMaxNumTransfers: 0n
293
+ })).toBe(true);
294
+ });
295
+ it('should return true when perFromAddressMaxNumTransfers is non-zero', () => {
296
+ expect((0, cosmos_wrappers_js_1.approvalHasMaxNumTransfers)({
297
+ overallMaxNumTransfers: 0n,
298
+ perFromAddressMaxNumTransfers: 1n,
299
+ perToAddressMaxNumTransfers: 0n,
300
+ perInitiatedByAddressMaxNumTransfers: 0n
301
+ })).toBe(true);
302
+ });
303
+ });
304
+ describe('approvalCriteriaUsesPredeterminedBalances', () => {
305
+ it('should return false for undefined criteria', () => {
306
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaUsesPredeterminedBalances)(undefined)).toBe(false);
307
+ });
308
+ it('should return false when predeterminedBalances is undefined', () => {
309
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaUsesPredeterminedBalances)({})).toBe(false);
310
+ });
311
+ it('should return false when both startBalances and manualBalances are empty', () => {
312
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaUsesPredeterminedBalances)({
313
+ predeterminedBalances: {
314
+ incrementedBalances: { startBalances: [] },
315
+ manualBalances: []
316
+ }
317
+ })).toBe(false);
318
+ });
319
+ it('should return true when startBalances is non-empty', () => {
320
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaUsesPredeterminedBalances)({
321
+ predeterminedBalances: {
322
+ incrementedBalances: { startBalances: [{ amount: 1n }] },
323
+ manualBalances: []
324
+ }
325
+ })).toBe(true);
326
+ });
327
+ it('should return true when manualBalances is non-empty', () => {
328
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaUsesPredeterminedBalances)({
329
+ predeterminedBalances: {
330
+ incrementedBalances: { startBalances: [] },
331
+ manualBalances: [{ balances: [] }]
332
+ }
333
+ })).toBe(true);
334
+ });
335
+ });
336
+ describe('approvalCriteriaHasNoAmountRestrictions', () => {
337
+ it('should return true for undefined criteria', () => {
338
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAmountRestrictions)(undefined)).toBe(true);
339
+ });
340
+ it('should return true when no amounts, no max transfers, no predetermined', () => {
341
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAmountRestrictions)({
342
+ approvalAmounts: undefined,
343
+ maxNumTransfers: undefined,
344
+ predeterminedBalances: undefined
345
+ })).toBe(true);
346
+ });
347
+ it('should return false when approval amounts are set', () => {
348
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAmountRestrictions)({
349
+ approvalAmounts: {
350
+ overallApprovalAmount: 100n,
351
+ perFromAddressApprovalAmount: 0n,
352
+ perToAddressApprovalAmount: 0n,
353
+ perInitiatedByAddressApprovalAmount: 0n
354
+ },
355
+ maxNumTransfers: undefined,
356
+ predeterminedBalances: undefined
357
+ })).toBe(false);
358
+ });
359
+ it('should return false when max num transfers are set', () => {
360
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAmountRestrictions)({
361
+ approvalAmounts: undefined,
362
+ maxNumTransfers: {
363
+ overallMaxNumTransfers: 1n,
364
+ perFromAddressMaxNumTransfers: 0n,
365
+ perToAddressMaxNumTransfers: 0n,
366
+ perInitiatedByAddressMaxNumTransfers: 0n
367
+ },
368
+ predeterminedBalances: undefined
369
+ })).toBe(false);
370
+ });
371
+ it('should return false when predetermined balances are set', () => {
372
+ expect((0, cosmos_wrappers_js_1.approvalCriteriaHasNoAmountRestrictions)({
373
+ approvalAmounts: undefined,
374
+ maxNumTransfers: undefined,
375
+ predeterminedBalances: {
376
+ incrementedBalances: { startBalances: [{ amount: 1n }] },
377
+ manualBalances: []
378
+ }
379
+ })).toBe(false);
380
+ });
381
+ });
382
+ describe('isAutoScannable', () => {
383
+ it('should return true for undefined criteria', () => {
384
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)(undefined)).toBe(true);
385
+ });
386
+ it('should return true when approval has no side effects', () => {
387
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)({
388
+ mustPrioritize: false,
389
+ coinTransfers: [],
390
+ merkleChallenges: [],
391
+ ethSignatureChallenges: [],
392
+ predeterminedBalances: undefined
393
+ })).toBe(true);
394
+ });
395
+ it('should return false when mustPrioritize is true', () => {
396
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)({
397
+ mustPrioritize: true,
398
+ coinTransfers: [],
399
+ merkleChallenges: [],
400
+ ethSignatureChallenges: []
401
+ })).toBe(false);
402
+ });
403
+ it('should return false when coinTransfers is non-empty', () => {
404
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)({
405
+ mustPrioritize: false,
406
+ coinTransfers: [{ to: 'addr', coins: [] }],
407
+ merkleChallenges: [],
408
+ ethSignatureChallenges: []
409
+ })).toBe(false);
410
+ });
411
+ it('should return false when merkleChallenges is non-empty', () => {
412
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)({
413
+ mustPrioritize: false,
414
+ coinTransfers: [],
415
+ merkleChallenges: [{ root: 'abc' }],
416
+ ethSignatureChallenges: []
417
+ })).toBe(false);
418
+ });
419
+ it('should return false when ethSignatureChallenges is non-empty', () => {
420
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)({
421
+ mustPrioritize: false,
422
+ coinTransfers: [],
423
+ merkleChallenges: [],
424
+ ethSignatureChallenges: [{ signer: '0x...' }]
425
+ })).toBe(false);
426
+ });
427
+ it('should return false when predeterminedBalances has non-nil incremented balances', () => {
428
+ expect((0, cosmos_wrappers_js_1.isAutoScannable)({
429
+ mustPrioritize: false,
430
+ coinTransfers: [],
431
+ merkleChallenges: [],
432
+ ethSignatureChallenges: [],
433
+ predeterminedBalances: {
434
+ incrementedBalances: {
435
+ startBalances: [{ amount: 1n }],
436
+ allowOverrideWithAnyValidToken: false,
437
+ allowOverrideTimestamp: false,
438
+ incrementTokenIdsBy: 0n,
439
+ incrementOwnershipTimesBy: 0n,
440
+ durationFromTimestamp: 0n,
441
+ recurringOwnershipTimes: { startTime: 0n, intervalLength: 0n }
442
+ },
443
+ manualBalances: [],
444
+ orderCalculationMethod: {}
445
+ }
446
+ })).toBe(false);
447
+ });
448
+ });
449
+ describe('isWrapperApproval', () => {
450
+ it('should return true for a valid wrapper approval', () => {
451
+ const approval = makeApproval();
452
+ const pathObj = makePathObj();
453
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(true);
454
+ });
455
+ it('should return false when sideB has more than 1 balance', () => {
456
+ const pathObj = new misc_js_1.CosmosCoinWrapperPath({
457
+ address: WRAPPER_ADDRESS,
458
+ denom: 'ubadge',
459
+ conversion: new ibc_wrappers_js_1.ConversionWithoutDenom({
460
+ sideA: { amount: 1000n },
461
+ sideB: [
462
+ { amount: 1n, tokenIds: [{ start: 1n, end: 1n }], ownershipTimes: [{ start: 1n, end: 100n }] },
463
+ { amount: 2n, tokenIds: [{ start: 2n, end: 2n }], ownershipTimes: [{ start: 1n, end: 100n }] }
464
+ ]
465
+ }),
466
+ symbol: 'BADGE',
467
+ denomUnits: [],
468
+ allowOverrideWithAnyValidToken: false,
469
+ metadata: new ibc_wrappers_js_1.PathMetadata({ uri: '', customData: '' })
470
+ });
471
+ const approval = makeApproval();
472
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
473
+ });
474
+ it('should return false when toList does not contain wrapper address', () => {
475
+ const approval = makeApproval({
476
+ toListAddresses: ['bb1someotheraddress'],
477
+ toListWhitelist: true
478
+ });
479
+ const pathObj = makePathObj();
480
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
481
+ });
482
+ it('should return false when tokenIds do not match', () => {
483
+ const approval = makeApproval({
484
+ tokenIds: [{ start: 5n, end: 10n }]
485
+ });
486
+ const pathObj = makePathObj();
487
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
488
+ });
489
+ it('should return false when ownershipTimes length does not match', () => {
490
+ const approval = makeApproval({
491
+ ownershipTimes: [
492
+ { start: 1n, end: 50n },
493
+ { start: 51n, end: 100n }
494
+ ]
495
+ });
496
+ const pathObj = makePathObj();
497
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
498
+ });
499
+ it('should return false when ownershipTimes values do not match', () => {
500
+ const approval = makeApproval({
501
+ ownershipTimes: [{ start: 1n, end: 200n }]
502
+ });
503
+ const pathObj = makePathObj();
504
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
505
+ });
506
+ it('should return false when overridesToIncomingApprovals is true', () => {
507
+ const approval = makeApproval({
508
+ approvalCriteria: { overridesToIncomingApprovals: true }
509
+ });
510
+ const pathObj = makePathObj();
511
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
512
+ });
513
+ it('should return false when allowSpecialWrapping is false', () => {
514
+ const approval = makeApproval({
515
+ approvalCriteria: { allowSpecialWrapping: false }
516
+ });
517
+ const pathObj = makePathObj();
518
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
519
+ });
520
+ it('should return false when approval has additional restrictions (merkleChallenges)', () => {
521
+ const approval = makeApproval();
522
+ approval.approvalCriteria = { merkleChallenges: [{ root: 'abc' }], coinTransfers: [], mustOwnTokens: [], dynamicStoreChallenges: [], ethSignatureChallenges: [] };
523
+ const pathObj = makePathObj();
524
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj)).toBe(false);
525
+ });
526
+ it('should skip path validation when skipPathValidation is true', () => {
527
+ const approval = makeApproval({
528
+ toListAddresses: ['bb1someotheraddress'],
529
+ toListWhitelist: true,
530
+ tokenIds: [{ start: 999n, end: 999n }]
531
+ });
532
+ const pathObj = makePathObj();
533
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj, { skipPathValidation: true })).toBe(true);
534
+ });
535
+ it('should use validTokenIds when allowOverrideWithAnyValidToken is true', () => {
536
+ const pathObj = makePathObj({ allowOverride: true });
537
+ const approval = makeApproval({
538
+ tokenIds: [{ start: 1n, end: 50n }]
539
+ });
540
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj, { validTokenIds: [{ start: 1n, end: 50n }] })).toBe(true);
541
+ });
542
+ it('should return false when allowOverride is true and validTokenIds do not match', () => {
543
+ const pathObj = makePathObj({ allowOverride: true });
544
+ const approval = makeApproval({
545
+ tokenIds: [{ start: 1n, end: 50n }]
546
+ });
547
+ expect((0, cosmos_wrappers_js_1.isWrapperApproval)(approval, pathObj, { validTokenIds: [{ start: 1n, end: 100n }] })).toBe(false);
548
+ });
549
+ });
550
+ describe('isUnwrapperApproval', () => {
551
+ it('should return true for a valid unwrapper approval', () => {
552
+ const approval = makeApproval({
553
+ fromListId: 'custom-from',
554
+ fromListAddresses: [WRAPPER_ADDRESS],
555
+ fromListWhitelist: true
556
+ });
557
+ const pathObj = makePathObj();
558
+ expect((0, cosmos_wrappers_js_1.isUnwrapperApproval)(approval, pathObj)).toBe(true);
559
+ });
560
+ it('should return false when fromList does not contain wrapper address', () => {
561
+ const approval = makeApproval({
562
+ fromListId: 'custom-from',
563
+ fromListAddresses: ['bb1someotheraddress'],
564
+ fromListWhitelist: true
565
+ });
566
+ const pathObj = makePathObj();
567
+ expect((0, cosmos_wrappers_js_1.isUnwrapperApproval)(approval, pathObj)).toBe(false);
568
+ });
569
+ it('should return false when overridesFromOutgoingApprovals is true', () => {
570
+ const approval = makeApproval({
571
+ fromListId: 'custom-from',
572
+ fromListAddresses: [WRAPPER_ADDRESS],
573
+ fromListWhitelist: true,
574
+ approvalCriteria: { overridesFromOutgoingApprovals: true }
575
+ });
576
+ const pathObj = makePathObj();
577
+ expect((0, cosmos_wrappers_js_1.isUnwrapperApproval)(approval, pathObj)).toBe(false);
578
+ });
579
+ it('should return false when allowSpecialWrapping is false', () => {
580
+ const approval = makeApproval({
581
+ fromListId: 'custom-from',
582
+ fromListAddresses: [WRAPPER_ADDRESS],
583
+ fromListWhitelist: true,
584
+ approvalCriteria: { allowSpecialWrapping: false }
585
+ });
586
+ const pathObj = makePathObj();
587
+ expect((0, cosmos_wrappers_js_1.isUnwrapperApproval)(approval, pathObj)).toBe(false);
588
+ });
589
+ it('should skip path validation when skipPathValidation is true', () => {
590
+ const approval = makeApproval({
591
+ fromListId: 'custom-from',
592
+ fromListAddresses: ['bb1someotheraddress'],
593
+ fromListWhitelist: true,
594
+ tokenIds: [{ start: 999n, end: 999n }]
595
+ });
596
+ const pathObj = makePathObj();
597
+ expect((0, cosmos_wrappers_js_1.isUnwrapperApproval)(approval, pathObj, { skipPathValidation: true })).toBe(true);
598
+ });
599
+ it('should return false when sideB has more than 1 balance (unwrapper)', () => {
600
+ const pathObj = new misc_js_1.CosmosCoinWrapperPath({
601
+ address: WRAPPER_ADDRESS,
602
+ denom: 'ubadge',
603
+ conversion: new ibc_wrappers_js_1.ConversionWithoutDenom({
604
+ sideA: { amount: 1000n },
605
+ sideB: [
606
+ { amount: 1n, tokenIds: [{ start: 1n, end: 1n }], ownershipTimes: [{ start: 1n, end: 100n }] },
607
+ { amount: 2n, tokenIds: [{ start: 2n, end: 2n }], ownershipTimes: [{ start: 1n, end: 100n }] }
608
+ ]
609
+ }),
610
+ symbol: 'BADGE',
611
+ denomUnits: [],
612
+ allowOverrideWithAnyValidToken: false,
613
+ metadata: new ibc_wrappers_js_1.PathMetadata({ uri: '', customData: '' })
614
+ });
615
+ const approval = makeApproval({
616
+ fromListId: 'custom-from',
617
+ fromListAddresses: [WRAPPER_ADDRESS],
618
+ fromListWhitelist: true
619
+ });
620
+ expect((0, cosmos_wrappers_js_1.isUnwrapperApproval)(approval, pathObj)).toBe(false);
621
+ });
622
+ });
623
+ //# sourceMappingURL=cosmos-wrappers.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosmos-wrappers.spec.js","sourceRoot":"","sources":["../../../src/core/cosmos-wrappers.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=managersplitter.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managersplitter.spec.d.ts","sourceRoot":"","sources":["../../../src/core/managersplitter.spec.ts"],"names":[],"mappings":""}