@pbpcanada/projectdam-sdk 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.
package/dist/idl.js ADDED
@@ -0,0 +1,922 @@
1
+ /**
2
+ * ProjectDAM Protocol IDL
3
+ * This IDL defines the program interface for the ProjectDAM NFT AMM
4
+ */
5
+ export const DAM_PROTOCOL_IDL = {
6
+ "accounts": [
7
+ {
8
+ "discriminator": [
9
+ 155,
10
+ 12,
11
+ 170,
12
+ 224,
13
+ 30,
14
+ 250,
15
+ 204,
16
+ 130
17
+ ],
18
+ "name": "Config"
19
+ },
20
+ {
21
+ "discriminator": [
22
+ 241,
23
+ 154,
24
+ 109,
25
+ 4,
26
+ 17,
27
+ 177,
28
+ 109,
29
+ 188
30
+ ],
31
+ "name": "Pool"
32
+ },
33
+ {
34
+ "discriminator": [
35
+ 45,
36
+ 198,
37
+ 65,
38
+ 11,
39
+ 29,
40
+ 13,
41
+ 209,
42
+ 1
43
+ ],
44
+ "name": "PoolNft"
45
+ }
46
+ ],
47
+ "address": "GyX8E52YsmuaojfbhGo6Y5ey8Qg31nbkvYUydEtfY4Ci",
48
+ "errors": [
49
+ {
50
+ "code": 6000,
51
+ "msg": "Invalid price: must be greater than 0",
52
+ "name": "InvalidPrice"
53
+ },
54
+ {
55
+ "code": 6001,
56
+ "msg": "Spread too high: maximum 1% (100 bps)",
57
+ "name": "SpreadTooHigh"
58
+ },
59
+ {
60
+ "code": 6002,
61
+ "msg": "Pool is inactive",
62
+ "name": "PoolInactive"
63
+ },
64
+ {
65
+ "code": 6003,
66
+ "msg": "Protocol is paused",
67
+ "name": "ProtocolPaused"
68
+ },
69
+ {
70
+ "code": 6004,
71
+ "msg": "Unauthorized: not pool owner",
72
+ "name": "Unauthorized"
73
+ },
74
+ {
75
+ "code": 6005,
76
+ "msg": "Slippage exceeded: price moved beyond limit",
77
+ "name": "SlippageExceeded"
78
+ },
79
+ {
80
+ "code": 6006,
81
+ "msg": "Pool type does not support buying NFTs",
82
+ "name": "PoolCantBuy"
83
+ },
84
+ {
85
+ "code": 6007,
86
+ "msg": "Insufficient SOL liquidity in pool",
87
+ "name": "InsufficientLiquidity"
88
+ },
89
+ {
90
+ "code": 6008,
91
+ "msg": "Invalid amount",
92
+ "name": "InvalidAmount"
93
+ },
94
+ {
95
+ "code": 6009,
96
+ "msg": "Invalid collection: NFT does not belong to pool collection",
97
+ "name": "InvalidCollection"
98
+ },
99
+ {
100
+ "code": 6010,
101
+ "msg": "Math overflow",
102
+ "name": "MathOverflow"
103
+ }
104
+ ],
105
+ "events": [
106
+ {
107
+ "discriminator": [
108
+ 218,
109
+ 177,
110
+ 248,
111
+ 106,
112
+ 85,
113
+ 103,
114
+ 233,
115
+ 63
116
+ ],
117
+ "name": "TradeEvent"
118
+ },
119
+ {
120
+ "discriminator": [
121
+ 78,
122
+ 100,
123
+ 12,
124
+ 227,
125
+ 55,
126
+ 120,
127
+ 11,
128
+ 201
129
+ ],
130
+ "name": "PoolCreatedEvent"
131
+ }
132
+ ],
133
+ "instructions": [
134
+ {
135
+ "accounts": [
136
+ {
137
+ "name": "config",
138
+ "writable": true
139
+ },
140
+ {
141
+ "name": "authority",
142
+ "signer": true,
143
+ "writable": true
144
+ },
145
+ {
146
+ "name": "systemProgram"
147
+ }
148
+ ],
149
+ "args": [
150
+ {
151
+ "name": "feeTreasury",
152
+ "type": "pubkey"
153
+ },
154
+ {
155
+ "name": "pbpBuybackWallet",
156
+ "type": "pubkey"
157
+ }
158
+ ],
159
+ "discriminator": [
160
+ 208,
161
+ 127,
162
+ 21,
163
+ 1,
164
+ 194,
165
+ 190,
166
+ 196,
167
+ 70
168
+ ],
169
+ "name": "initialize_config"
170
+ },
171
+ {
172
+ "accounts": [
173
+ {
174
+ "name": "pool",
175
+ "writable": true
176
+ },
177
+ {
178
+ "name": "config",
179
+ "writable": true
180
+ },
181
+ {
182
+ "name": "collectionMint"
183
+ },
184
+ {
185
+ "name": "owner",
186
+ "signer": true,
187
+ "writable": true
188
+ },
189
+ {
190
+ "name": "systemProgram"
191
+ }
192
+ ],
193
+ "args": [
194
+ {
195
+ "name": "uuid",
196
+ "type": {
197
+ "array": [
198
+ "u8",
199
+ 6
200
+ ]
201
+ }
202
+ },
203
+ {
204
+ "name": "curveType",
205
+ "type": {
206
+ "defined": {
207
+ "name": "CurveType"
208
+ }
209
+ }
210
+ },
211
+ {
212
+ "name": "spotPrice",
213
+ "type": "u64"
214
+ },
215
+ {
216
+ "name": "spreadBps",
217
+ "type": "u16"
218
+ },
219
+ {
220
+ "name": "poolType",
221
+ "type": {
222
+ "defined": {
223
+ "name": "PoolType"
224
+ }
225
+ }
226
+ }
227
+ ],
228
+ "discriminator": [
229
+ 233,
230
+ 146,
231
+ 209,
232
+ 142,
233
+ 207,
234
+ 104,
235
+ 64,
236
+ 188
237
+ ],
238
+ "name": "create_pool"
239
+ },
240
+ {
241
+ "accounts": [
242
+ {
243
+ "name": "pool",
244
+ "writable": true
245
+ },
246
+ {
247
+ "name": "poolNft",
248
+ "writable": true
249
+ },
250
+ {
251
+ "name": "config",
252
+ "writable": true
253
+ },
254
+ {
255
+ "name": "collectionMint"
256
+ },
257
+ {
258
+ "name": "nftMint"
259
+ },
260
+ {
261
+ "name": "ownerNftAccount",
262
+ "writable": true
263
+ },
264
+ {
265
+ "name": "poolNftAccount",
266
+ "writable": true
267
+ },
268
+ {
269
+ "name": "owner",
270
+ "signer": true,
271
+ "writable": true
272
+ },
273
+ {
274
+ "name": "tokenProgram"
275
+ },
276
+ {
277
+ "name": "associatedTokenProgram"
278
+ },
279
+ {
280
+ "name": "systemProgram"
281
+ }
282
+ ],
283
+ "args": [
284
+ {
285
+ "name": "uuid",
286
+ "type": {
287
+ "array": [
288
+ "u8",
289
+ 6
290
+ ]
291
+ }
292
+ },
293
+ {
294
+ "name": "price",
295
+ "type": "u64"
296
+ }
297
+ ],
298
+ "discriminator": [
299
+ 54,
300
+ 174,
301
+ 193,
302
+ 67,
303
+ 17,
304
+ 41,
305
+ 132,
306
+ 38
307
+ ],
308
+ "name": "list"
309
+ },
310
+ {
311
+ "accounts": [
312
+ {
313
+ "name": "pool",
314
+ "writable": true
315
+ },
316
+ {
317
+ "name": "config"
318
+ },
319
+ {
320
+ "name": "poolNft",
321
+ "writable": true
322
+ },
323
+ {
324
+ "name": "nftMetadata"
325
+ },
326
+ {
327
+ "name": "nftMint"
328
+ },
329
+ {
330
+ "name": "poolNftAccount",
331
+ "writable": true
332
+ },
333
+ {
334
+ "name": "buyerNftAccount",
335
+ "writable": true
336
+ },
337
+ {
338
+ "name": "poolOwner",
339
+ "writable": true
340
+ },
341
+ {
342
+ "name": "feeBuffer",
343
+ "writable": true
344
+ },
345
+ {
346
+ "name": "creatorWallet",
347
+ "writable": true
348
+ },
349
+ {
350
+ "name": "buyer",
351
+ "signer": true,
352
+ "writable": true
353
+ },
354
+ {
355
+ "name": "tokenProgram"
356
+ },
357
+ {
358
+ "name": "associatedTokenProgram"
359
+ },
360
+ {
361
+ "name": "systemProgram"
362
+ }
363
+ ],
364
+ "args": [
365
+ {
366
+ "name": "maxPrice",
367
+ "type": "u64"
368
+ },
369
+ {
370
+ "name": "royaltyBps",
371
+ "type": "u16"
372
+ }
373
+ ],
374
+ "discriminator": [
375
+ 102,
376
+ 6,
377
+ 61,
378
+ 18,
379
+ 1,
380
+ 218,
381
+ 235,
382
+ 234
383
+ ],
384
+ "name": "buy"
385
+ },
386
+ {
387
+ "accounts": [
388
+ {
389
+ "name": "pool",
390
+ "writable": true
391
+ },
392
+ {
393
+ "name": "config"
394
+ },
395
+ {
396
+ "name": "nftMetadata"
397
+ },
398
+ {
399
+ "name": "nftMint"
400
+ },
401
+ {
402
+ "name": "sellerNftAccount",
403
+ "writable": true
404
+ },
405
+ {
406
+ "name": "poolNftAccount",
407
+ "writable": true
408
+ },
409
+ {
410
+ "name": "solVault",
411
+ "writable": true
412
+ },
413
+ {
414
+ "name": "feeBuffer",
415
+ "writable": true
416
+ },
417
+ {
418
+ "name": "creatorWallet",
419
+ "writable": true
420
+ },
421
+ {
422
+ "name": "seller",
423
+ "signer": true,
424
+ "writable": true
425
+ },
426
+ {
427
+ "name": "tokenProgram"
428
+ },
429
+ {
430
+ "name": "associatedTokenProgram"
431
+ },
432
+ {
433
+ "name": "systemProgram"
434
+ }
435
+ ],
436
+ "args": [
437
+ {
438
+ "name": "minPrice",
439
+ "type": "u64"
440
+ },
441
+ {
442
+ "name": "royaltyBps",
443
+ "type": "u16"
444
+ }
445
+ ],
446
+ "discriminator": [
447
+ 51,
448
+ 230,
449
+ 133,
450
+ 164,
451
+ 1,
452
+ 127,
453
+ 131,
454
+ 173
455
+ ],
456
+ "name": "sell"
457
+ },
458
+ {
459
+ "accounts": [
460
+ {
461
+ "name": "pool",
462
+ "writable": true
463
+ },
464
+ {
465
+ "name": "poolNft",
466
+ "writable": true
467
+ },
468
+ {
469
+ "name": "nftMint"
470
+ },
471
+ {
472
+ "name": "ownerNftAccount",
473
+ "writable": true
474
+ },
475
+ {
476
+ "name": "poolNftAccount",
477
+ "writable": true
478
+ },
479
+ {
480
+ "name": "owner",
481
+ "signer": true,
482
+ "writable": true
483
+ },
484
+ {
485
+ "name": "tokenProgram"
486
+ },
487
+ {
488
+ "name": "associatedTokenProgram"
489
+ },
490
+ {
491
+ "name": "systemProgram"
492
+ }
493
+ ],
494
+ "args": [],
495
+ "discriminator": [
496
+ 93,
497
+ 226,
498
+ 132,
499
+ 166,
500
+ 141,
501
+ 9,
502
+ 48,
503
+ 101
504
+ ],
505
+ "name": "deposit_nft"
506
+ },
507
+ {
508
+ "accounts": [
509
+ {
510
+ "name": "pool",
511
+ "writable": true
512
+ },
513
+ {
514
+ "name": "solVault",
515
+ "writable": true
516
+ },
517
+ {
518
+ "name": "owner",
519
+ "signer": true,
520
+ "writable": true
521
+ },
522
+ {
523
+ "name": "systemProgram"
524
+ }
525
+ ],
526
+ "args": [
527
+ {
528
+ "name": "amount",
529
+ "type": "u64"
530
+ }
531
+ ],
532
+ "discriminator": [
533
+ 108,
534
+ 81,
535
+ 78,
536
+ 117,
537
+ 237,
538
+ 119,
539
+ 0,
540
+ 35
541
+ ],
542
+ "name": "deposit_sol"
543
+ },
544
+ {
545
+ "accounts": [
546
+ {
547
+ "name": "pool",
548
+ "writable": true
549
+ },
550
+ {
551
+ "name": "poolNft",
552
+ "writable": true
553
+ },
554
+ {
555
+ "name": "nftMint"
556
+ },
557
+ {
558
+ "name": "poolNftAccount",
559
+ "writable": true
560
+ },
561
+ {
562
+ "name": "ownerNftAccount",
563
+ "writable": true
564
+ },
565
+ {
566
+ "name": "owner",
567
+ "signer": true,
568
+ "writable": true
569
+ },
570
+ {
571
+ "name": "tokenProgram"
572
+ },
573
+ {
574
+ "name": "associatedTokenProgram"
575
+ },
576
+ {
577
+ "name": "systemProgram"
578
+ }
579
+ ],
580
+ "args": [],
581
+ "discriminator": [
582
+ 81,
583
+ 166,
584
+ 166,
585
+ 57,
586
+ 172,
587
+ 97,
588
+ 41,
589
+ 88
590
+ ],
591
+ "name": "delist"
592
+ },
593
+ {
594
+ "accounts": [
595
+ {
596
+ "name": "pool",
597
+ "writable": true
598
+ },
599
+ {
600
+ "name": "owner",
601
+ "signer": true
602
+ }
603
+ ],
604
+ "args": [
605
+ {
606
+ "name": "newSpotPrice",
607
+ "type": {
608
+ "option": "u64"
609
+ }
610
+ },
611
+ {
612
+ "name": "newSpreadBps",
613
+ "type": {
614
+ "option": "u16"
615
+ }
616
+ }
617
+ ],
618
+ "discriminator": [
619
+ 239,
620
+ 77,
621
+ 186,
622
+ 213,
623
+ 72,
624
+ 168,
625
+ 141,
626
+ 90
627
+ ],
628
+ "name": "update_pool"
629
+ }
630
+ ],
631
+ "metadata": {
632
+ "name": "dam_protocol",
633
+ "version": "0.1.0",
634
+ "spec": "0.1.0"
635
+ },
636
+ "types": [
637
+ {
638
+ "name": "CurveType",
639
+ "type": {
640
+ "kind": "enum",
641
+ "variants": [
642
+ {
643
+ "name": "Fixed"
644
+ },
645
+ {
646
+ "fields": [
647
+ {
648
+ "name": "delta",
649
+ "type": "u64"
650
+ }
651
+ ],
652
+ "name": "Linear"
653
+ },
654
+ {
655
+ "fields": [
656
+ {
657
+ "name": "deltaBps",
658
+ "type": "u16"
659
+ }
660
+ ],
661
+ "name": "Exponential"
662
+ }
663
+ ]
664
+ }
665
+ },
666
+ {
667
+ "name": "PoolType",
668
+ "type": {
669
+ "kind": "enum",
670
+ "variants": [
671
+ {
672
+ "name": "Nft"
673
+ },
674
+ {
675
+ "name": "Token"
676
+ },
677
+ {
678
+ "name": "Trade"
679
+ }
680
+ ]
681
+ }
682
+ },
683
+ {
684
+ "name": "Config",
685
+ "type": {
686
+ "kind": "struct",
687
+ "fields": [
688
+ {
689
+ "name": "bump",
690
+ "type": "u8"
691
+ },
692
+ {
693
+ "name": "authority",
694
+ "type": "pubkey"
695
+ },
696
+ {
697
+ "name": "protocolFeeBps",
698
+ "type": "u16"
699
+ },
700
+ {
701
+ "name": "buybackBps",
702
+ "type": "u16"
703
+ },
704
+ {
705
+ "name": "feeTreasury",
706
+ "type": "pubkey"
707
+ },
708
+ {
709
+ "name": "pbpBuybackWallet",
710
+ "type": "pubkey"
711
+ },
712
+ {
713
+ "name": "totalPools",
714
+ "type": "u64"
715
+ },
716
+ {
717
+ "name": "totalTrades",
718
+ "type": "u64"
719
+ },
720
+ {
721
+ "name": "feeBuffer",
722
+ "type": "u64"
723
+ },
724
+ {
725
+ "name": "paused",
726
+ "type": "bool"
727
+ }
728
+ ]
729
+ }
730
+ },
731
+ {
732
+ "name": "Pool",
733
+ "type": {
734
+ "kind": "struct",
735
+ "fields": [
736
+ {
737
+ "name": "bump",
738
+ "type": "u8"
739
+ },
740
+ {
741
+ "name": "owner",
742
+ "type": "pubkey"
743
+ },
744
+ {
745
+ "name": "uuid",
746
+ "type": {
747
+ "array": [
748
+ "u8",
749
+ 6
750
+ ]
751
+ }
752
+ },
753
+ {
754
+ "name": "collection",
755
+ "type": "pubkey"
756
+ },
757
+ {
758
+ "name": "curveType",
759
+ "type": {
760
+ "defined": {
761
+ "name": "CurveType"
762
+ }
763
+ }
764
+ },
765
+ {
766
+ "name": "spotPrice",
767
+ "type": "u64"
768
+ },
769
+ {
770
+ "name": "spreadBps",
771
+ "type": "u16"
772
+ },
773
+ {
774
+ "name": "nftCount",
775
+ "type": "u16"
776
+ },
777
+ {
778
+ "name": "solBalance",
779
+ "type": "u64"
780
+ },
781
+ {
782
+ "name": "buyCount",
783
+ "type": "u64"
784
+ },
785
+ {
786
+ "name": "sellCount",
787
+ "type": "u64"
788
+ },
789
+ {
790
+ "name": "poolType",
791
+ "type": {
792
+ "defined": {
793
+ "name": "PoolType"
794
+ }
795
+ }
796
+ },
797
+ {
798
+ "name": "isActive",
799
+ "type": "bool"
800
+ },
801
+ {
802
+ "name": "createdAt",
803
+ "type": "i64"
804
+ }
805
+ ]
806
+ }
807
+ },
808
+ {
809
+ "name": "PoolNft",
810
+ "type": {
811
+ "kind": "struct",
812
+ "fields": [
813
+ {
814
+ "name": "bump",
815
+ "type": "u8"
816
+ },
817
+ {
818
+ "name": "pool",
819
+ "type": "pubkey"
820
+ },
821
+ {
822
+ "name": "nftMint",
823
+ "type": "pubkey"
824
+ },
825
+ {
826
+ "name": "depositor",
827
+ "type": "pubkey"
828
+ },
829
+ {
830
+ "name": "depositedAt",
831
+ "type": "i64"
832
+ },
833
+ {
834
+ "name": "priceAtDeposit",
835
+ "type": "u64"
836
+ }
837
+ ]
838
+ }
839
+ },
840
+ {
841
+ "name": "TradeEvent",
842
+ "type": {
843
+ "kind": "struct",
844
+ "fields": [
845
+ {
846
+ "name": "pool",
847
+ "type": "pubkey"
848
+ },
849
+ {
850
+ "name": "buyer",
851
+ "type": "pubkey"
852
+ },
853
+ {
854
+ "name": "seller",
855
+ "type": "pubkey"
856
+ },
857
+ {
858
+ "name": "nftMint",
859
+ "type": "pubkey"
860
+ },
861
+ {
862
+ "name": "price",
863
+ "type": "u64"
864
+ },
865
+ {
866
+ "name": "protocolFee",
867
+ "type": "u64"
868
+ },
869
+ {
870
+ "name": "creatorRoyalty",
871
+ "type": "u64"
872
+ },
873
+ {
874
+ "name": "isBuy",
875
+ "type": "bool"
876
+ }
877
+ ]
878
+ }
879
+ },
880
+ {
881
+ "name": "PoolCreatedEvent",
882
+ "type": {
883
+ "kind": "struct",
884
+ "fields": [
885
+ {
886
+ "name": "pool",
887
+ "type": "pubkey"
888
+ },
889
+ {
890
+ "name": "owner",
891
+ "type": "pubkey"
892
+ },
893
+ {
894
+ "name": "collection",
895
+ "type": "pubkey"
896
+ },
897
+ {
898
+ "name": "curveType",
899
+ "type": {
900
+ "defined": {
901
+ "name": "CurveType"
902
+ }
903
+ }
904
+ },
905
+ {
906
+ "name": "spotPrice",
907
+ "type": "u64"
908
+ },
909
+ {
910
+ "name": "poolType",
911
+ "type": {
912
+ "defined": {
913
+ "name": "PoolType"
914
+ }
915
+ }
916
+ }
917
+ ]
918
+ }
919
+ }
920
+ ]
921
+ };
922
+ //# sourceMappingURL=idl.js.map