@xgamesfun/solana 0.25.3 → 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.
- package/README.md +145 -228
- package/js/approve/details.mjs +52 -2
- package/js/approve/live-check.mjs +0 -15
- package/js/approve/server.mjs +5 -4
- package/js/chain/token2022.js +3 -2
- package/js/client/accounts.js +67 -25
- package/js/client/grant.js +7 -2
- package/js/client/idl/loot.js +1 -1
- package/js/client/idl/loot.json +714 -182
- package/js/client/ix.js +617 -113
- package/js/client/sizes.js +35 -3
- package/js/economy/check.mjs +655 -242
- package/js/economy/cost.mjs +2 -4
- package/js/economy/explain.mjs +16 -2
- package/js/economy/guide.mjs +12 -12
- package/js/economy/model.mjs +133 -14
- package/js/economy/plan.mjs +36 -11
- package/js/economy/review.mjs +50 -8
- package/js/economy/schema.json +73 -29
- package/js/economy/simulate.mjs +116 -13
- package/js/mcp/tools.mjs +2 -2
- package/js/play/index.js +847 -296
- package/package.json +1 -1
- package/release.json +5 -5
- package/skills/xsolana-economy/SKILL.md +12 -4
- package/skills/xsolana-economy/references/after-launch.md +1 -1
- package/skills/xsolana-economy/references/apps.md +11 -2
- package/skills/xsolana-economy/references/sentence-to-spec.md +3 -3
- package/skills/xsolana-economy/references/telling-the-person.md +21 -4
- package/skills/xsolana-economy/references/trust-and-cheating.md +15 -5
- package/types/chain/token2022.d.ts +3 -2
- package/types/client/accounts.d.ts +34 -11
- package/types/client/idl/loot.d.ts +25 -4
- package/types/client/ix.d.ts +217 -45
- package/types/economy/check.d.mts +5 -0
- package/types/economy/model.d.mts +75 -12
- package/types/economy/plan.d.mts +22 -1
- package/types/economy/simulate.d.mts +12 -1
- package/types/mcp/server.d.mts +12 -1
- package/types/mcp/tools.d.mts +12 -1
- package/types/play/index.d.ts +210 -144
package/types/play/index.d.ts
CHANGED
|
@@ -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 (
|
|
375
|
-
*
|
|
376
|
-
*
|
|
377
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
|
551
|
-
*
|
|
552
|
-
*
|
|
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
|
|
568
|
-
* `acceptRisks` is true: the page shows the player
|
|
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,
|
|
588
|
-
* borrower. `repay`: the debt the payer was shown (`loan()`'s, in base units);
|
|
589
|
-
* (`TermsChanged`).
|
|
590
|
-
*
|
|
591
|
-
*
|
|
592
|
-
*
|
|
593
|
-
*
|
|
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
|
-
|
|
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
|
|
620
|
-
*
|
|
621
|
-
* roll lot makes the winner's roll of its box (`order`), which
|
|
622
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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):
|