@xgamesfun/solana 0.25.4 → 0.26.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 (41) hide show
  1. package/README.md +8 -8
  2. package/js/approve/details.mjs +52 -2
  3. package/js/approve/live-check.mjs +0 -15
  4. package/js/approve/server.mjs +5 -4
  5. package/js/chain/token2022.js +3 -2
  6. package/js/client/accounts.js +67 -25
  7. package/js/client/grant.js +7 -2
  8. package/js/client/idl/loot.js +1 -1
  9. package/js/client/idl/loot.json +714 -182
  10. package/js/client/ix.js +617 -113
  11. package/js/client/sizes.js +35 -3
  12. package/js/economy/check.mjs +655 -242
  13. package/js/economy/cost.mjs +2 -4
  14. package/js/economy/explain.mjs +16 -2
  15. package/js/economy/guide.mjs +12 -12
  16. package/js/economy/model.mjs +133 -14
  17. package/js/economy/plan.mjs +36 -11
  18. package/js/economy/review.mjs +50 -8
  19. package/js/economy/schema.json +73 -29
  20. package/js/economy/simulate.mjs +116 -13
  21. package/js/mcp/tools.mjs +2 -2
  22. package/js/play/index.js +847 -296
  23. package/package.json +1 -1
  24. package/release.json +5 -5
  25. package/skills/xsolana-economy/SKILL.md +12 -4
  26. package/skills/xsolana-economy/references/after-launch.md +1 -1
  27. package/skills/xsolana-economy/references/apps.md +11 -2
  28. package/skills/xsolana-economy/references/sentence-to-spec.md +3 -3
  29. package/skills/xsolana-economy/references/telling-the-person.md +21 -4
  30. package/skills/xsolana-economy/references/trust-and-cheating.md +15 -5
  31. package/types/chain/token2022.d.ts +3 -2
  32. package/types/client/accounts.d.ts +34 -11
  33. package/types/client/idl/loot.d.ts +25 -4
  34. package/types/client/ix.d.ts +217 -45
  35. package/types/economy/check.d.mts +5 -0
  36. package/types/economy/model.d.mts +75 -12
  37. package/types/economy/plan.d.mts +22 -1
  38. package/types/economy/simulate.d.mts +12 -1
  39. package/types/mcp/server.d.mts +12 -1
  40. package/types/mcp/tools.d.mts +12 -1
  41. package/types/play/index.d.ts +210 -144
@@ -346,17 +346,17 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
346
346
  * signs no messages. Returns [{ name, key, settled } | { name, key, swept } | { name, key, waiting }].
347
347
  */
348
348
  recover(): Promise<({
349
+ waiting?: undefined;
349
350
  name: null;
350
351
  key: string;
351
352
  error: any;
352
- waiting?: undefined;
353
353
  swept?: undefined;
354
354
  } | {
355
+ waiting?: undefined;
355
356
  name: null;
356
357
  key: string;
357
358
  settled: any;
358
359
  won: any;
359
- waiting?: undefined;
360
360
  swept?: undefined;
361
361
  } | {
362
362
  name: null;
@@ -371,14 +371,16 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
371
371
  })[]>;
372
372
  /** Gives an order's payment back once its time has come (a roll that failed or never came). */
373
373
  refund(orderAddress: any): Promise<any>;
374
- /** Asks the oracle for a roll a mission, a recipe or a prize made (anyone may; the asker pays the oracle). On a box
375
- * with nothing in stock only the order's player may ask, a slot after it was made or last asked, and that ends the
376
- * roll there with nothing, no oracle (a lot its winner paid for fails, for its refund). */
377
- askRoll: (orderAddress: any) => Promise<any>;
374
+ /** Asks the oracle for a roll a mission, a recipe or a prize made (its player or the project's keys may; the asker
375
+ * pays the oracle). Its first ask fixes its odds: the player's profile, and an NFT they show (`shown`; by default
376
+ * their collectible that raises the box's odds the most), count then. On a box with nothing in stock only the order's
377
+ * player may ask, a slot after it was made or last asked, and that ends the roll there with nothing, no oracle (a lot
378
+ * its winner paid for fails, for its refund). */
379
+ askRoll: (orderAddress: any, options?: {}) => Promise<any>;
378
380
  /**
379
381
  * Pays a payment of the economy (an entry, an attempt, a tip). `amount`: what the player chose, in whole units, for
380
382
  * a payment with `any` (at least its `amount`). `chosenRecipient`: the wallet the player names for a share the
381
- * payment lets them choose (a referrer), never their own. `holders`: asset → holder, for a holder's share (read
383
+ * payment lets them choose (a referrer; their own wallet too, which then pays them back their share). `holders`: asset → holder, for a holder's share (read
382
384
  * now when not given).
383
385
  */
384
386
  pay(paymentKey: any, { amount: chosen, holders, chosenRecipient, ...others }?: Readonly<Record<string, any>>): Promise<any>;
@@ -403,10 +405,29 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
403
405
  round: any;
404
406
  sold: any;
405
407
  drawsAt: number | null;
408
+ salesCloseAt: number | null;
409
+ timeWeighted: boolean;
410
+ weight: bigint | null;
411
+ ticketWeight: bigint | null;
412
+ ticketShare: number | null;
406
413
  nftTicket: boolean;
407
414
  incarnation: any;
408
415
  revision: any;
409
416
  }[]>;
417
+ /**
418
+ * What `count` tickets of a lottery bought now would weigh in its current round's draw, before they are bought:
419
+ * { tickets, weight, total, share, salesCloseAt, timeWeighted }. In a lottery that weighs tickets by time, each
420
+ * ticket weighs the seconds from its purchase to the close of sales, so the same tickets bought later weigh less;
421
+ * `share` is the purchase's part of the round's weight with it (0 to 1), its chance at each place as things stand.
422
+ */
423
+ ticketWeight(lotteryKey: any, count?: number): Promise<{
424
+ weight: bigint;
425
+ total: bigint;
426
+ share: number;
427
+ tickets: bigint;
428
+ salesCloseAt: number;
429
+ timeWeighted: boolean;
430
+ }>;
410
431
  /**
411
432
  * Buys `count` tickets of a lottery, on the terms the player was shown: `listing`, the lottery as `lotteries()`
412
433
  * showed it (a lottery changed since, its price or anything else, is refused rather than paid), or `maxPrice`, the
@@ -416,7 +437,7 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
416
437
  * passes its rule: `nft`, its address (held by the project until the draw, then burned, given on or stashed; back to
417
438
  * the player if the round is cancelled). `listProof`: for a list gate.
418
439
  */
419
- buyTickets(lotteryKey: any, count?: number, { shown, chosenRecipient, listProof, nft: paidWith, listing, maxPrice, ...others }?: Readonly<Record<string, any>>): Promise<any>;
440
+ buyTickets(lotteryKey: any, count?: number, { shown, chosenRecipient, listProof, nft: paidWith, listing, maxPrice, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
420
441
  /**
421
442
  * Writes an NFT's traits from the project's traits tree (`traits` in the spec) into its Sheet, where rules read them:
422
443
  * anyone may, paying the Sheet's rent. `attributes` ([{ key, value }]) and `proof` come from the project's tree
@@ -439,14 +460,15 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
439
460
  * Core asset, a Token Metadata NFT's mint (legacy or pNFT), or a compressed NFT's asset id. In a farm that watches,
440
461
  * an NFT whose last staker sold it takes their seat over. A farm with an end takes none at its end or after it.
441
462
  */
442
- stakeNft(farmKey: any, asset: any, tier?: number, { extra, transfers, ...others }?: Readonly<Record<string, any>>): Promise<any>;
463
+ stakeNft(farmKey: any, asset: any, tier?: number, { extra, transfers, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
443
464
  /**
444
465
  * Releases the collectible after its lock: it grows on its way out (a farm with `growth`), and from its own seat
445
- * takes its tier's prize (a mission: `prize.rs`). `forfeit` gives up rewards, and the prize, that cannot move.
446
- * Returns the signature, or { signature, roll } when it makes a roll (a mission's result on the NFT, or a chest),
466
+ * takes its tier's prize (a mission: `prize.rs`). `forfeit` gives up rewards, and the prize, that cannot move. A
467
+ * prize that can't be given now refuses the leave and the NFT stays (`needPrize`, true by default); `needPrize: false`
468
+ * leaves without it (the receipt says `prize_missed`). Returns the signature, or { signature, roll } when it makes a roll (a mission's result on the NFT, or a chest),
447
469
  * which `collect` then finishes.
448
470
  */
449
- unstakeNft(farmKey: any, asset: any, { forfeit, extra, transfers, ...others }?: Readonly<Record<string, any>>): Promise<any>;
471
+ unstakeNft(farmKey: any, asset: any, { forfeit, needPrize, extra, transfers, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
450
472
  /**
451
473
  * What farm `farmKey` has to walk: `{ ends, needsWalk, parts }`, the times its seats stop earning it has passed and not
452
474
  * yet credited up to, whether a move can no longer do them in its own transaction, and how many transactions
@@ -499,6 +521,7 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
499
521
  freeAt: number | null;
500
522
  lockKey?: any;
501
523
  boostPercent: number;
524
+ weight: bigint;
502
525
  rewards: any;
503
526
  waiting: string;
504
527
  owedUnits: bigint;
@@ -540,16 +563,17 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
540
563
  * Hands an NFT of any kind to the project until a time (a hold): `seconds` from now, or `{ until }` (Unix seconds).
541
564
  * The hold's address names its end. Returns { signature, freeAt }.
542
565
  */
543
- hold(asset: any, seconds: any): Promise<{
566
+ hold(asset: any, seconds: any, { acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<{
544
567
  signature: any;
545
568
  freeAt: bigint;
546
569
  }>;
547
570
  /**
548
571
  * A lender's offer to borrow against: `maker`'s offer number `id` in this project. Returns { address, offer, mint,
549
572
  * amount, repay, lasts, risks }: `risks`, in words, each power over the loan's token that could make repaying fail
550
- * (its freeze authority, a Token-2022 pause, a transfer hook, a permanent delegate) and who holds it. The program
551
- * takes such tokens, and a lender who holds one can stop every repayment and take the NFT once it is due: show the
552
- * risks before the player borrows.
573
+ * (its freeze authority, a Token-2022 pause, a transfer hook, a permanent delegate) and who holds it, and each setting
574
+ * of the token that lets the lender turn the repayment away (accounts that start frozen or can be made to,
575
+ * confidential transfers) or blocks it (a token that can't be transferred). The program takes such tokens, and a
576
+ * lender who can stop every repayment takes the NFT once it is due: show the risks before the player borrows.
553
577
  */
554
578
  loanOffer(maker: any, id: any): Promise<{
555
579
  address: any;
@@ -564,10 +588,11 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
564
588
  /**
565
589
  * Borrows against the player's NFT `asset` from `maker`'s offer `id`: the NFT is held until the loan is repaid, or
566
590
  * goes to the lender once it is due (`due`, Unix seconds; by default the longest the offer allows, less a minute).
567
- * A loan whose token someone could freeze, pause, hook or move (`loanOffer`'s `risks`) is refused unless
568
- * `acceptRisks` is true: the page shows the player who holds that power first. `extra`: a transfer hook's accounts.
591
+ * A loan whose token someone could freeze, pause, hook or move, or whose own settings let the lender turn the
592
+ * repayment away (`loanOffer`'s `risks`), is refused unless `acceptRisks` is true: the page shows the player each
593
+ * risk first. `extra`: a transfer hook's accounts.
569
594
  */
570
- borrow(maker: any, id: any, asset: any, { due, acceptRisks, extra, ...others }?: Readonly<Record<string, any>>): Promise<{
595
+ borrow(maker: any, id: any, asset: any, { due, acceptRisks, acceptLeftover, extra, ...others }?: Readonly<Record<string, any>>): Promise<{
571
596
  signature: any;
572
597
  due: any;
573
598
  hold: any;
@@ -584,28 +609,35 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
584
609
  borrower: any;
585
610
  } | null>;
586
611
  /**
587
- * Repays the loan on `asset` (held until `due`), the player's own or a friend's, then sends the NFT home to its
588
- * borrower. `repay`: the debt the payer was shown (`loan()`'s, in base units); the program refuses any other
589
- * (`TermsChanged`). The repay goes in the wallet's transaction alone, with what it opens (the borrower's Token
590
- * Metadata account), so a release that fails never undoes a repay that must land before the loan is due; the same
591
- * transaction funds a throwaway key that sends the release (anyone may), a pNFT's or a compressed NFT's too: the key
592
- * is funded for what that release opens (a pNFT's token account and record, a compressed NFT's proof record, which
593
- * comes back in the same transaction). Returns { signature, released }.
612
+ * Repays the loan on `asset` (held until `due`), the player's own or a friend's, and brings the NFT home to its
613
+ * borrower in the same instruction: one prompt. `repay`: the debt the payer was shown (`loan()`'s, in base units);
614
+ * the program refuses any other (`TermsChanged`). An NFT its collection took back or burned while the project held
615
+ * it is refused here, before anything is signed: the program takes no repayment for it, and the borrower keeps what
616
+ * they borrowed. When the NFT can't move now (frozen for now, or its collection refuses the move), or `home` is
617
+ * false, the money goes alone, so the loan does not fall due: the hold is then over, and anyone sends the NFT home
618
+ * once it can move (`claims()` lists it). A compressed NFT is proven in the same transaction; the money alone for one
619
+ * whose proof keeps going out of date goes without it. Returns { signature, home }, and `says` when the NFT waits.
594
620
  */
595
- repay(asset: any, due: any, { repay, extra, ...others }?: Readonly<Record<string, any>>): Promise<{
621
+ repay(asset: any, due: any, { repay, home, extra, ...others }?: Readonly<Record<string, any>>): Promise<{
622
+ says?: undefined;
623
+ signature: any;
624
+ home: boolean;
625
+ } | {
596
626
  signature: any;
597
- released: any;
627
+ home: boolean;
628
+ says: string;
598
629
  }>;
599
630
  /**
600
631
  * Backs `side` of contest number `id` (the authority opens contests while the project runs) with `amount`; a contest
601
632
  * of NFTs takes one of the player's NFTs that passes its rule instead (`nft`, its address), held until it is
602
633
  * claimed. `listProof`: for a list gate.
603
634
  */
604
- enter(id: any, side: any, amount: any, { shown, listProof, nft: staked, ...others }?: Readonly<Record<string, any>>): Promise<any>;
635
+ enter(id: any, side: any, amount: any, { shown, listProof, nft: staked, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
605
636
  /**
606
637
  * The auctions: each one's lot, high bid, the least the next bid must be, when it ends and how long is left, and
607
638
  * whether the player leads. One no longer on chain has ended. `waiting`: SOL that came back to the player's
608
- * wrapped-SOL account from a bid that was topped (`unwrap` turns it into plain SOL).
639
+ * wrapped-SOL account from a bid that was topped (`unwrap` turns it into plain SOL). `warnings`: what to show every
640
+ * bidder before a bid (a token whose accounts can be frozen, a lot of another collection).
609
641
  */
610
642
  auctions(): Promise<any>;
611
643
  /**
@@ -614,26 +646,136 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
614
646
  * wrapped-SOL account does not hold already is wrapped, and the account stays open: if this bid is topped, it comes
615
647
  * back there.
616
648
  */
617
- bid(auctionKey: any, amount: any, { shown, listProof, nfts, ...others }?: Readonly<Record<string, any>>): Promise<any>;
649
+ bid(auctionKey: any, amount: any, { shown, listProof, nfts, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
618
650
  /**
619
- * Ends an auction that is over (anyone can; the winner usually does): the lot to the highest bidder, a new
620
- * collectible minted for them at the address its item and serial name, however long after the end it is sent. A
621
- * roll lot makes the winner's roll of its box (`order`), which `collect` asks for and settles. An end too big for one
622
- * transaction makes each NFT a hold and sends each home with a release after it (`releases`).
651
+ * Ends an auction that is over (anyone can; the winner usually does): the lot to the highest bidder and the winning
652
+ * bid to whoever owned it, in one transaction (a new collectible minted for the winner at the address its item and
653
+ * serial name), however long after the end it is sent. A roll lot makes the winner's roll of its box (`order`), which
654
+ * `collect` asks for and settles. An NFT lot whose end can't fit one transaction (a compressed lot's long proof, many
655
+ * shares, a hooked coin) goes first, and the bid is paid by a second end, the accounts it pays into opened before it.
656
+ * When the lot can't move now (its collection froze it or refuses the move), nothing is sent: the sale waits, the
657
+ * winning bid in the project's vault (`{ waiting: true, says }`); end it again later, or the project's keys call it
658
+ * off (`callOffSale`). When the lot or an NFT of the winning bid is gone (its collection took it back or burned it),
659
+ * the sale is called off on that evidence, which anyone may: the bid goes back to its bidder (`{ calledOff: true }`).
660
+ * With no bid, the lot goes home to its seller. An end too big for one transaction otherwise makes each NFT that may
661
+ * be a hold one, and sends each on with a release after it (`releases`).
623
662
  */
624
663
  endAuction(auctionKey: any, { holders, ...others }?: Readonly<Record<string, any>>): Promise<{
625
- signature: any;
664
+ says?: undefined;
665
+ owedPaid: any;
666
+ waiting?: undefined;
667
+ paid: any;
668
+ releases?: undefined;
669
+ } | {
626
670
  owedPaid: any;
671
+ waiting?: undefined;
672
+ paid: null;
673
+ says: string;
674
+ releases?: undefined;
627
675
  } | {
628
- owedPaid?: undefined;
676
+ says?: undefined;
677
+ owedPaid: any;
678
+ waiting?: undefined;
679
+ paid: any;
680
+ releases: any[];
681
+ } | {
682
+ winner?: any;
683
+ asset?: any;
629
684
  signature: any;
630
685
  releases: any[];
686
+ } | {
687
+ waiting: boolean;
688
+ says: string;
689
+ } | {
690
+ says?: undefined;
631
691
  winner?: any;
692
+ asset?: any;
693
+ waiting?: undefined;
694
+ signature: any;
695
+ order?: any;
696
+ rolled?: {
697
+ order: any;
698
+ settled: string;
699
+ says: string;
700
+ } | {
701
+ order: any;
702
+ settled: null;
703
+ says: string;
704
+ } | {
705
+ says?: undefined;
706
+ order: any;
707
+ won: any;
708
+ assets: any;
709
+ settled: any;
710
+ parts?: any[] | undefined;
711
+ asset?: any;
712
+ } | undefined;
713
+ } | {
714
+ says?: undefined;
715
+ winner?: any;
716
+ asset?: any;
717
+ waiting?: undefined;
718
+ signature: any;
719
+ lotFirst: boolean;
720
+ paid: any;
721
+ releases?: undefined;
722
+ } | {
723
+ winner?: any;
724
+ asset?: any;
725
+ waiting?: undefined;
726
+ signature: any;
727
+ lotFirst: boolean;
728
+ paid: null;
729
+ says: string;
730
+ releases?: undefined;
731
+ } | {
732
+ says?: undefined;
733
+ winner?: any;
734
+ asset?: any;
735
+ waiting?: undefined;
736
+ signature: any;
737
+ lotFirst: boolean;
738
+ paid: any;
739
+ releases: any[];
740
+ }>;
741
+ /**
742
+ * The project's owner or authority calls off the sale of an NFT lot whose auction is over and whose lot has not moved
743
+ * (one that never thaws, say), for the project fee: the winning bid goes back to its bidder and the lot home to its
744
+ * seller, each moved, or made a hold that anyone sends on once it can move (`releases`). Anyone may when the lot or
745
+ * an NFT of the winning bid is gone (`endAuction` does it then). Refused once the lot went to its winner (`CantCallOff`).
746
+ */
747
+ callOffSale(auctionKey: any, { ...others }?: Readonly<Record<string, any>>): Promise<{
748
+ says?: undefined;
749
+ owedPaid: any;
750
+ waiting?: undefined;
751
+ paid: any;
752
+ releases?: undefined;
632
753
  } | {
633
- owedPaid?: undefined;
754
+ owedPaid: any;
755
+ waiting?: undefined;
756
+ paid: null;
757
+ says: string;
758
+ releases?: undefined;
759
+ } | {
760
+ says?: undefined;
761
+ owedPaid: any;
762
+ waiting?: undefined;
763
+ paid: any;
764
+ releases: any[];
765
+ } | {
766
+ winner?: any;
767
+ asset?: any;
634
768
  signature: any;
769
+ releases: any[];
770
+ } | {
771
+ waiting: boolean;
772
+ says: string;
773
+ } | {
774
+ says?: undefined;
635
775
  winner?: any;
636
776
  asset?: any;
777
+ waiting?: undefined;
778
+ signature: any;
637
779
  order?: any;
638
780
  rolled?: {
639
781
  order: any;
@@ -652,6 +794,33 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
652
794
  parts?: any[] | undefined;
653
795
  asset?: any;
654
796
  } | undefined;
797
+ } | {
798
+ says?: undefined;
799
+ winner?: any;
800
+ asset?: any;
801
+ waiting?: undefined;
802
+ signature: any;
803
+ lotFirst: boolean;
804
+ paid: any;
805
+ releases?: undefined;
806
+ } | {
807
+ winner?: any;
808
+ asset?: any;
809
+ waiting?: undefined;
810
+ signature: any;
811
+ lotFirst: boolean;
812
+ paid: null;
813
+ says: string;
814
+ releases?: undefined;
815
+ } | {
816
+ says?: undefined;
817
+ winner?: any;
818
+ asset?: any;
819
+ waiting?: undefined;
820
+ signature: any;
821
+ lotFirst: boolean;
822
+ paid: any;
823
+ releases: any[];
655
824
  }>;
656
825
  /**
657
826
  * Runs a schedule that is due (an emission into a pool, a rent or a drip): the project's owner or authority, or who it
@@ -664,12 +833,12 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
664
833
  * Lists one of the player's NFTs (any kind) for sale at `price` (whole units of `currency`, the economy's by
665
834
  * default), `shares` taken first (a royalty, a platform's cut). The project holds it until it sells or is unlisted.
666
835
  */
667
- listForSale(asset: any, { price, currency, shares, ...others }?: Readonly<Record<string, any>>): Promise<any>;
836
+ listForSale(asset: any, { price, currency, shares, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
668
837
  /**
669
838
  * Lists one of the player's NFTs for rent: `price` (whole units) a period of `lasts` seconds, a renter taking 1 to
670
839
  * `maxPeriods` at once. Nobody can end a rental early; the next renter takes it once one is over, until it is unlisted.
671
840
  */
672
- listForRent(asset: any, { price, lasts, maxPeriods, currency, shares, ...others }?: Readonly<Record<string, any>>): Promise<any>;
841
+ listForRent(asset: any, { price, lasts, maxPeriods, currency, shares, acceptLeftover, ...others }?: Readonly<Record<string, any>>): Promise<any>;
673
842
  /** The listing of `asset` (one account read), or null: { listing, asset, maker, mint, deal, renter, until }. */
674
843
  listing(asset: any): Promise<any>;
675
844
  /** Who rents `asset` now (one account read, then a check that the project still holds it), or null. */
@@ -736,110 +905,7 @@ export declare function solanaApp({ spec, rpcUrl, rpc, wallet, programs, now, ke
736
905
  * a winner's first claim of a contest of tokens carries `potUnits` and `prizeUnits`, its part as the decision wrote
737
906
  * it (base units, as text). Pass one to `claim`.
738
907
  */
739
- claims(): Promise<({
740
- key?: undefined;
741
- tree?: undefined;
742
- kind: string;
743
- order: any;
744
- says: string;
745
- hold?: undefined;
746
- round?: undefined;
747
- pulls?: undefined;
748
- asset?: undefined;
749
- table?: undefined;
750
- } | {
751
- key?: undefined;
752
- tree?: undefined;
753
- order?: undefined;
754
- kind: string;
755
- id: any;
756
- side: any;
757
- says: string;
758
- potUnits?: string | undefined;
759
- prizeUnits?: string | undefined;
760
- hold?: undefined;
761
- round?: undefined;
762
- pulls?: undefined;
763
- asset?: undefined;
764
- table?: undefined;
765
- } | {
766
- key?: undefined;
767
- tree?: undefined;
768
- order?: undefined;
769
- kind: string;
770
- asset: any;
771
- hold: any;
772
- says: string;
773
- round?: undefined;
774
- pulls?: undefined;
775
- table?: undefined;
776
- } | {
777
- key?: undefined;
778
- order?: undefined;
779
- hold?: undefined;
780
- kind: string;
781
- asset: string;
782
- tree: string;
783
- says: string;
784
- round?: undefined;
785
- pulls?: undefined;
786
- table?: undefined;
787
- } | {
788
- tree?: undefined;
789
- order?: undefined;
790
- hold?: undefined;
791
- kind: string;
792
- key: any;
793
- says: string;
794
- round?: undefined;
795
- pulls?: undefined;
796
- asset?: undefined;
797
- table?: undefined;
798
- } | {
799
- tree?: undefined;
800
- order?: undefined;
801
- hold?: undefined;
802
- kind: string;
803
- key: any;
804
- round: any;
805
- says: string;
806
- pulls?: undefined;
807
- asset?: undefined;
808
- table?: undefined;
809
- } | {
810
- tree?: undefined;
811
- order?: undefined;
812
- hold?: undefined;
813
- kind: string;
814
- key: any;
815
- round: any;
816
- pulls: any;
817
- says: string;
818
- asset?: undefined;
819
- table?: undefined;
820
- } | {
821
- key?: undefined;
822
- tree?: undefined;
823
- order?: undefined;
824
- hold?: undefined;
825
- round?: undefined;
826
- pulls?: undefined;
827
- kind: string;
828
- asset: any;
829
- says: string;
830
- table?: undefined;
831
- } | {
832
- key?: undefined;
833
- tree?: undefined;
834
- order?: undefined;
835
- hold?: undefined;
836
- round?: undefined;
837
- pulls?: undefined;
838
- asset?: undefined;
839
- kind: string;
840
- table: any;
841
- says: string;
842
- })[]>;
908
+ claims(): Promise<any[]>;
843
909
  /**
844
910
  * Finishes one of `claims()`, signed by this player. Returns the signature. A winner of a contest of NFTs picks
845
911
  * which loser's NFT they take (`{ take: asset }`, the NFT of a losing entry that still holds one; the first found by default):