@xgamesfun/solana 0.0.0-stage → 0.24.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/DISCLAIMER.md +41 -0
- package/LICENSE +202 -0
- package/NOTICE +13 -0
- package/README.md +172 -2
- package/bin/xsolana.mjs +189 -0
- package/examples/artwork-auction.json +51 -0
- package/examples/blind-forge.json +128 -0
- package/examples/coin-flip-arena.json +103 -0
- package/examples/duel-arena.json +137 -0
- package/examples/elements-set.json +274 -0
- package/examples/event-badges.json +67 -0
- package/examples/expedition-guild.json +154 -0
- package/examples/fair-presale.json +48 -0
- package/examples/falling-drop.json +90 -0
- package/examples/guild-missions.json +137 -0
- package/examples/halving-seasons.json +107 -0
- package/examples/hero-trials.json +93 -0
- package/examples/ideas.json +789 -0
- package/examples/level-ladder.json +65 -0
- package/examples/merge-2048.json +128 -0
- package/examples/nft-raffle.json +33 -0
- package/examples/paper-hands-farm.json +44 -0
- package/examples/partner-vault.json +112 -0
- package/examples/sacrifice-raffle.json +118 -0
- package/examples/scorched-treasury.json +84 -0
- package/examples/shelter-fair.json +164 -0
- package/examples/spark-pity.json +153 -0
- package/examples/stakers-draw.json +118 -0
- package/examples/star-fleet.json +150 -0
- package/examples/starforce.json +116 -0
- package/examples/stud-farm.json +134 -0
- package/examples/team-vesting.json +70 -0
- package/examples/trade-in-shop.json +168 -0
- package/js/approve/details.mjs +263 -0
- package/js/approve/ed25519.mjs +36 -0
- package/js/approve/live-check.mjs +144 -0
- package/js/approve/page.html +86 -0
- package/js/approve/page.js +203 -0
- package/js/approve/server.mjs +726 -0
- package/js/chain/base58.js +73 -0
- package/js/chain/borsh.js +270 -0
- package/js/chain/bytes.js +141 -0
- package/js/chain/core.js +181 -0
- package/js/chain/curve.js +52 -0
- package/js/chain/lookup.js +279 -0
- package/js/chain/mint.js +96 -0
- package/js/chain/pda.js +66 -0
- package/js/chain/programs.js +102 -0
- package/js/chain/rpc.js +219 -0
- package/js/chain/sha256.js +68 -0
- package/js/chain/token.js +85 -0
- package/js/chain/token2022.js +247 -0
- package/js/chain/tx.js +224 -0
- package/js/client/accounts.js +679 -0
- package/js/client/compressed.js +46 -0
- package/js/client/grant.js +299 -0
- package/js/client/idl/loot.js +2 -0
- package/js/client/idl/loot.json +17206 -0
- package/js/client/index.js +10 -0
- package/js/client/ix.js +2887 -0
- package/js/client/pda.js +114 -0
- package/js/client/policy.js +69 -0
- package/js/client/random.js +70 -0
- package/js/client/sizes.js +297 -0
- package/js/client/traits.js +44 -0
- package/js/connect/connect.mjs +182 -0
- package/js/economy/check.mjs +2236 -0
- package/js/economy/cost.mjs +185 -0
- package/js/economy/examples.mjs +114 -0
- package/js/economy/explain.mjs +239 -0
- package/js/economy/guide.mjs +232 -0
- package/js/economy/legal.mjs +15 -0
- package/js/economy/live.mjs +130 -0
- package/js/economy/model.mjs +698 -0
- package/js/economy/plan.mjs +1155 -0
- package/js/economy/schema.json +3071 -0
- package/js/economy/secrets.mjs +60 -0
- package/js/economy/simulate.mjs +1019 -0
- package/js/economy/txsize.mjs +45 -0
- package/js/economy/validate.mjs +85 -0
- package/js/index.js +10 -0
- package/js/mcp/server.mjs +113 -0
- package/js/mcp/tools.mjs +485 -0
- package/js/play/index.js +2855 -0
- package/js/play/keys.js +167 -0
- package/js/results/index.js +184 -0
- package/js/results/wire.js +90 -0
- package/package.json +100 -4
- package/release.json +8 -0
- package/skills/xsolana-economy/SKILL.md +109 -0
- package/skills/xsolana-economy/references/after-launch.md +124 -0
- package/skills/xsolana-economy/references/apps.md +193 -0
- package/skills/xsolana-economy/references/sentence-to-spec.md +180 -0
- package/skills/xsolana-economy/references/telling-the-person.md +134 -0
- package/types/chain/base58.d.ts +10 -0
- package/types/chain/borsh.d.ts +23 -0
- package/types/chain/bytes.d.ts +45 -0
- package/types/chain/core.d.ts +52 -0
- package/types/chain/curve.d.ts +1 -0
- package/types/chain/lookup.d.ts +194 -0
- package/types/chain/mint.d.ts +25 -0
- package/types/chain/pda.d.ts +25 -0
- package/types/chain/programs.d.ts +65 -0
- package/types/chain/rpc.d.ts +68 -0
- package/types/chain/sha256.d.ts +1 -0
- package/types/chain/token.d.ts +141 -0
- package/types/chain/token2022.d.ts +53 -0
- package/types/chain/tx.d.ts +60 -0
- package/types/client/accounts.d.ts +318 -0
- package/types/client/compressed.d.ts +29 -0
- package/types/client/grant.d.ts +170 -0
- package/types/client/idl/loot.d.ts +4498 -0
- package/types/client/index.d.ts +9 -0
- package/types/client/ix.d.ts +5315 -0
- package/types/client/pda.d.ts +95 -0
- package/types/client/policy.d.ts +48 -0
- package/types/client/random.d.ts +26 -0
- package/types/client/sizes.d.ts +101 -0
- package/types/client/traits.d.ts +12 -0
- package/types/economy/check.d.mts +100 -0
- package/types/economy/cost.d.mts +69 -0
- package/types/economy/examples.d.mts +27 -0
- package/types/economy/explain.d.mts +19 -0
- package/types/economy/guide.d.mts +140 -0
- package/types/economy/legal.d.mts +12 -0
- package/types/economy/live.d.mts +124 -0
- package/types/economy/model.d.mts +431 -0
- package/types/economy/plan.d.mts +1014 -0
- package/types/economy/secrets.d.mts +4 -0
- package/types/economy/simulate.d.mts +164 -0
- package/types/economy/txsize.d.mts +17 -0
- package/types/economy/validate.d.mts +3 -0
- package/types/index.d.ts +9 -0
- package/types/mcp/tools.d.mts +635 -0
- package/types/play/index.d.ts +880 -0
- package/types/play/keys.d.ts +51 -0
- package/types/results/index.d.ts +155 -0
- package/types/results/wire.d.ts +122 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"network": "devnet",
|
|
4
|
+
"name": "Sunset Auction",
|
|
5
|
+
"prompt": "I'm an artist selling a 1 of 1 piece. Highest bid after 24 hours wins it, in SOL, and anyone who is outbid gets their money back automatically. A late bid should give others ten more minutes. Each bid at least 5% over the last, and 10% of the sale goes to my collaborator.",
|
|
6
|
+
"currency": "sol",
|
|
7
|
+
"tokens": [
|
|
8
|
+
{
|
|
9
|
+
"key": "sol",
|
|
10
|
+
"source": "sol"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"collection": {
|
|
14
|
+
"name": "Sunset Studio",
|
|
15
|
+
"royaltyPercent": 5
|
|
16
|
+
},
|
|
17
|
+
"items": [
|
|
18
|
+
{
|
|
19
|
+
"key": "sunset",
|
|
20
|
+
"name": "Sunset, 1 of 1",
|
|
21
|
+
"rarity": "Mythic",
|
|
22
|
+
"supply": 1,
|
|
23
|
+
"uri": "https://example.invalid/sunset.json"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"auctions": [
|
|
27
|
+
{
|
|
28
|
+
"key": "sunset",
|
|
29
|
+
"name": "Sunset, 1 of 1",
|
|
30
|
+
"lot": {
|
|
31
|
+
"item": "sunset"
|
|
32
|
+
},
|
|
33
|
+
"reserve": 0.5,
|
|
34
|
+
"minRaise": 5,
|
|
35
|
+
"runs": "24h",
|
|
36
|
+
"extendBy": "10m",
|
|
37
|
+
"split": [
|
|
38
|
+
{
|
|
39
|
+
"to": "account:6U3XnmrzuZ5sDujScii8SmzwtRZ4skfKcH2TLiz1rmES",
|
|
40
|
+
"percent": 10
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"scenario": {
|
|
46
|
+
"days": 1,
|
|
47
|
+
"perDay": {
|
|
48
|
+
"auction:sunset": 12
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"network": "devnet",
|
|
4
|
+
"name": "Blind Forge",
|
|
5
|
+
"prompt": "A drop of mystery boxes with a 60 / 25 / 10 / 4 / 1 rarity table, priced on a curve (each box costs 0.5% more than the last); the mythic is 1-of-1 and leaves the table once pulled; each legendary's weight drops as it is minted. Priced in a Token-2022 coin with a 1% transfer fee, plus a weekly draw for buyers.",
|
|
6
|
+
"currency": "forge",
|
|
7
|
+
"tokens": [
|
|
8
|
+
{
|
|
9
|
+
"key": "forge",
|
|
10
|
+
"source": "existing",
|
|
11
|
+
"name": "Forge test coin",
|
|
12
|
+
"symbol": "FORGE",
|
|
13
|
+
"decimals": 6,
|
|
14
|
+
"program": "token-2022",
|
|
15
|
+
"mint": "7MJWx2uTWn8ZHFda1WUpW46SgWb5UyAjjFrYjjSsSYHA",
|
|
16
|
+
"venue": "other",
|
|
17
|
+
"powers": {
|
|
18
|
+
"mintAuthority": "someone else",
|
|
19
|
+
"freeze": false,
|
|
20
|
+
"transferFeePercent": 1
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"collection": {
|
|
25
|
+
"name": "Blind Forge",
|
|
26
|
+
"royaltyPercent": 5
|
|
27
|
+
},
|
|
28
|
+
"items": [
|
|
29
|
+
{
|
|
30
|
+
"key": "common-blade",
|
|
31
|
+
"name": "Common Blade",
|
|
32
|
+
"rarity": "Common",
|
|
33
|
+
"value": 2
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"key": "uncommon-blade",
|
|
37
|
+
"name": "Uncommon Blade",
|
|
38
|
+
"rarity": "Uncommon",
|
|
39
|
+
"value": 5
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"key": "rare-blade",
|
|
43
|
+
"name": "Rare Blade",
|
|
44
|
+
"rarity": "Rare",
|
|
45
|
+
"supply": 500,
|
|
46
|
+
"value": 20
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"key": "epic-blade",
|
|
50
|
+
"name": "Epic Blade",
|
|
51
|
+
"rarity": "Epic",
|
|
52
|
+
"supply": 100,
|
|
53
|
+
"value": 60
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"key": "mythic-blade",
|
|
57
|
+
"name": "Mythic Blade",
|
|
58
|
+
"rarity": "Mythic",
|
|
59
|
+
"supply": 1,
|
|
60
|
+
"value": 200
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"pools": [],
|
|
64
|
+
"boxes": [
|
|
65
|
+
{
|
|
66
|
+
"key": "forge-box",
|
|
67
|
+
"name": "Forge box",
|
|
68
|
+
"price": 10,
|
|
69
|
+
"rise": {
|
|
70
|
+
"growthPercent": 0.5
|
|
71
|
+
},
|
|
72
|
+
"stockOdds": true,
|
|
73
|
+
"split": [
|
|
74
|
+
{
|
|
75
|
+
"to": "lottery:buyers-draw",
|
|
76
|
+
"percent": 5
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"outcomes": [
|
|
80
|
+
{
|
|
81
|
+
"gives": "item",
|
|
82
|
+
"item": "common-blade",
|
|
83
|
+
"chance": 60
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"gives": "item",
|
|
87
|
+
"item": "uncommon-blade",
|
|
88
|
+
"chance": 25
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"gives": "item",
|
|
92
|
+
"item": "rare-blade",
|
|
93
|
+
"chance": 10
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"gives": "item",
|
|
97
|
+
"item": "epic-blade",
|
|
98
|
+
"chance": 4
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"gives": "item",
|
|
102
|
+
"item": "mythic-blade",
|
|
103
|
+
"chance": 1
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"lotteries": [
|
|
109
|
+
{
|
|
110
|
+
"key": "buyers-draw",
|
|
111
|
+
"name": "Buyers' draw",
|
|
112
|
+
"price": 1,
|
|
113
|
+
"cutPercent": 5,
|
|
114
|
+
"places": [
|
|
115
|
+
70,
|
|
116
|
+
30
|
|
117
|
+
],
|
|
118
|
+
"every": "7d"
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"scenario": {
|
|
122
|
+
"days": 30,
|
|
123
|
+
"perDay": {
|
|
124
|
+
"box:forge-box": 200,
|
|
125
|
+
"lottery:buyers-draw": 50
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"network": "devnet",
|
|
4
|
+
"name": "Coin-flip arena",
|
|
5
|
+
"prompt": "Make me a coin-flip arena: 2% house edge to people who stake, and a weekly lottery with three places fed by 10% of every flip.",
|
|
6
|
+
"keys": {
|
|
7
|
+
"authority": "owner"
|
|
8
|
+
},
|
|
9
|
+
"currency": "sol",
|
|
10
|
+
"tokens": [
|
|
11
|
+
{
|
|
12
|
+
"key": "sol",
|
|
13
|
+
"source": "sol"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"key": "arena",
|
|
17
|
+
"source": "game",
|
|
18
|
+
"name": "Arena",
|
|
19
|
+
"symbol": "ARENA",
|
|
20
|
+
"decimals": 6
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"pools": [
|
|
24
|
+
{
|
|
25
|
+
"key": "house",
|
|
26
|
+
"currency": "sol",
|
|
27
|
+
"seed": 5,
|
|
28
|
+
"about": "Pays the winning flips. 88% of every flip comes back into it."
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"boxes": [
|
|
32
|
+
{
|
|
33
|
+
"key": "flip",
|
|
34
|
+
"name": "Coin flip",
|
|
35
|
+
"price": 0.1,
|
|
36
|
+
"split": [
|
|
37
|
+
{
|
|
38
|
+
"to": "pool:house",
|
|
39
|
+
"percent": 88
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"to": "lottery:weekly",
|
|
43
|
+
"percent": 10
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"to": "farm:backers",
|
|
47
|
+
"percent": 2
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"outcomes": [
|
|
51
|
+
{
|
|
52
|
+
"gives": "pay",
|
|
53
|
+
"chance": 50,
|
|
54
|
+
"pool": "house",
|
|
55
|
+
"amount": 0.176
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"gives": "nothing",
|
|
59
|
+
"chance": 50
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"lotteries": [
|
|
65
|
+
{
|
|
66
|
+
"key": "weekly",
|
|
67
|
+
"name": "Weekly draw",
|
|
68
|
+
"price": 0.01,
|
|
69
|
+
"places": [
|
|
70
|
+
50,
|
|
71
|
+
30,
|
|
72
|
+
20
|
|
73
|
+
],
|
|
74
|
+
"every": "7d",
|
|
75
|
+
"firstDraw": "publish+7d"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"scenario": {
|
|
79
|
+
"days": 30,
|
|
80
|
+
"perDay": {
|
|
81
|
+
"box:flip": 1000,
|
|
82
|
+
"lottery:weekly": 100,
|
|
83
|
+
"farm:backers": 10
|
|
84
|
+
},
|
|
85
|
+
"staked": {
|
|
86
|
+
"backers": 1000000
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"farms": [
|
|
90
|
+
{
|
|
91
|
+
"key": "backers",
|
|
92
|
+
"name": "Back the house",
|
|
93
|
+
"stakes": "arena",
|
|
94
|
+
"rewards": "sol",
|
|
95
|
+
"tiers": [
|
|
96
|
+
{
|
|
97
|
+
"lock": "1d",
|
|
98
|
+
"multiplier": 1
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"network": "devnet",
|
|
4
|
+
"name": "Duel Arena",
|
|
5
|
+
"prompt": "Two players each put up a stake and fight; the winner takes it, less a rake that goes to the arena's holder. Ships go on 6-hour missions held by the game: they come home with loot, or the authority sends them to the wreck yard; if it does not answer in time, anyone can send them home.",
|
|
6
|
+
"currency": "usdc",
|
|
7
|
+
"keys": {
|
|
8
|
+
"authority": "Hby5BFRb3qfaDyY2Fza4UtjfRn4aFmvdnMAouigMurAs"
|
|
9
|
+
},
|
|
10
|
+
"tokens": [
|
|
11
|
+
{
|
|
12
|
+
"key": "usdc",
|
|
13
|
+
"source": "existing",
|
|
14
|
+
"name": "USDC (devnet)",
|
|
15
|
+
"symbol": "USDC",
|
|
16
|
+
"decimals": 6,
|
|
17
|
+
"mint": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
|
|
18
|
+
"venue": "other",
|
|
19
|
+
"powers": {
|
|
20
|
+
"mintAuthority": "someone else",
|
|
21
|
+
"freeze": true
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"collection": {
|
|
26
|
+
"name": "Duel Arena"
|
|
27
|
+
},
|
|
28
|
+
"items": [
|
|
29
|
+
{
|
|
30
|
+
"key": "arena-deed",
|
|
31
|
+
"name": "Arena Deed",
|
|
32
|
+
"price": 100,
|
|
33
|
+
"supply": 1,
|
|
34
|
+
"rarity": "Legendary"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"key": "ship",
|
|
38
|
+
"name": "Scout Ship",
|
|
39
|
+
"price": 5,
|
|
40
|
+
"split": [
|
|
41
|
+
{
|
|
42
|
+
"to": "pool:mission-rewards",
|
|
43
|
+
"percent": 90
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"pools": [
|
|
49
|
+
{
|
|
50
|
+
"key": "mission-rewards",
|
|
51
|
+
"currency": "usdc",
|
|
52
|
+
"seed": 100,
|
|
53
|
+
"about": "Pays missions that succeed; 90% of every ship sold fills it."
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"contests": [
|
|
57
|
+
{
|
|
58
|
+
"key": "duel",
|
|
59
|
+
"name": "Duel",
|
|
60
|
+
"currency": "usdc",
|
|
61
|
+
"sides": 2,
|
|
62
|
+
"sideNames": [
|
|
63
|
+
"Red",
|
|
64
|
+
"Blue"
|
|
65
|
+
],
|
|
66
|
+
"entriesClose": "10m",
|
|
67
|
+
"resultDue": "1h",
|
|
68
|
+
"every": "1h",
|
|
69
|
+
"split": [
|
|
70
|
+
{
|
|
71
|
+
"to": "holder:9rAE9ZjQBaR7Gwqoh1nnbJMqNjJJYVnuptjQ8p4sV7VW",
|
|
72
|
+
"percent": 3
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"to": "burn",
|
|
76
|
+
"percent": 2
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"decidedBy": "the game server, from the duel's result"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"holds": [
|
|
83
|
+
{
|
|
84
|
+
"key": "mission",
|
|
85
|
+
"name": "Fleet mission",
|
|
86
|
+
"item": "ship",
|
|
87
|
+
"for": "6h",
|
|
88
|
+
"decidedBy": "the game server: home with loot, or the wreck yard"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"decisions": [
|
|
92
|
+
{
|
|
93
|
+
"key": "open-duel",
|
|
94
|
+
"when": "two players queue for a duel",
|
|
95
|
+
"does": "open_contest",
|
|
96
|
+
"contest": "duel",
|
|
97
|
+
"signedBy": "server",
|
|
98
|
+
"perDay": 24
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"key": "duel-result",
|
|
102
|
+
"when": "a duel ends",
|
|
103
|
+
"does": "decide",
|
|
104
|
+
"contest": "duel",
|
|
105
|
+
"signedBy": "server",
|
|
106
|
+
"perDay": 24
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"key": "mission-end",
|
|
110
|
+
"when": "a mission ends",
|
|
111
|
+
"does": "award",
|
|
112
|
+
"hold": "mission",
|
|
113
|
+
"to": "the player, or the wreck yard",
|
|
114
|
+
"signedBy": "server",
|
|
115
|
+
"perDay": 40
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"key": "mission-loot",
|
|
119
|
+
"when": "a mission succeeds",
|
|
120
|
+
"does": "payout",
|
|
121
|
+
"pool": "mission-rewards",
|
|
122
|
+
"amount": 2,
|
|
123
|
+
"to": "the ship's player",
|
|
124
|
+
"signedBy": "server",
|
|
125
|
+
"perDay": 20
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"scenario": {
|
|
129
|
+
"days": 30,
|
|
130
|
+
"perDay": {
|
|
131
|
+
"item:arena-deed": 0,
|
|
132
|
+
"item:ship": 10,
|
|
133
|
+
"hold:mission": 40,
|
|
134
|
+
"contest:duel": 48
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"network": "devnet",
|
|
4
|
+
"name": "Elements",
|
|
5
|
+
"prompt": "Four elements, Fire, Water, Earth and Air, each earn 10 SPARK a day staked at the altar. A player who has all four staked binds them into an Elemental Badge, which earns 100 SPARK a day in the sanctum; while the badge exists the four stay staked, and a set makes one badge. Unbinding burns the badge and lets the four go.",
|
|
6
|
+
"currency": "sol",
|
|
7
|
+
"tokens": [
|
|
8
|
+
{
|
|
9
|
+
"key": "sol",
|
|
10
|
+
"source": "sol"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"key": "spark",
|
|
14
|
+
"source": "game",
|
|
15
|
+
"name": "Spark",
|
|
16
|
+
"symbol": "SPARK",
|
|
17
|
+
"decimals": 0
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"collection": {
|
|
21
|
+
"name": "Elements"
|
|
22
|
+
},
|
|
23
|
+
"items": [
|
|
24
|
+
{
|
|
25
|
+
"key": "fire",
|
|
26
|
+
"name": "Fire",
|
|
27
|
+
"price": 0.02
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"key": "water",
|
|
31
|
+
"name": "Water",
|
|
32
|
+
"price": 0.02
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"key": "earth",
|
|
36
|
+
"name": "Earth",
|
|
37
|
+
"price": 0.02
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"key": "air",
|
|
41
|
+
"name": "Air",
|
|
42
|
+
"price": 0.02
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"key": "badge",
|
|
46
|
+
"name": "Elemental Badge"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"recipes": [
|
|
50
|
+
{
|
|
51
|
+
"key": "bind",
|
|
52
|
+
"name": "Bind the four",
|
|
53
|
+
"in": [
|
|
54
|
+
{
|
|
55
|
+
"takes": "staked",
|
|
56
|
+
"item": "fire",
|
|
57
|
+
"farm": "altar"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"takes": "staked",
|
|
61
|
+
"item": "water",
|
|
62
|
+
"farm": "altar"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"takes": "staked",
|
|
66
|
+
"item": "earth",
|
|
67
|
+
"farm": "altar"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"takes": "staked",
|
|
71
|
+
"item": "air",
|
|
72
|
+
"farm": "altar"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"out": [
|
|
76
|
+
{
|
|
77
|
+
"gives": "item",
|
|
78
|
+
"item": "badge"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"raises": [
|
|
82
|
+
{
|
|
83
|
+
"place": 0,
|
|
84
|
+
"key": "bound",
|
|
85
|
+
"by": 1,
|
|
86
|
+
"upTo": 1
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"place": 0,
|
|
90
|
+
"key": "free_at",
|
|
91
|
+
"by": "20000d"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"place": 1,
|
|
95
|
+
"key": "bound",
|
|
96
|
+
"by": 1,
|
|
97
|
+
"upTo": 1
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"place": 1,
|
|
101
|
+
"key": "free_at",
|
|
102
|
+
"by": "20000d"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"place": 2,
|
|
106
|
+
"key": "bound",
|
|
107
|
+
"by": 1,
|
|
108
|
+
"upTo": 1
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"place": 2,
|
|
112
|
+
"key": "free_at",
|
|
113
|
+
"by": "20000d"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"place": 3,
|
|
117
|
+
"key": "bound",
|
|
118
|
+
"by": 1,
|
|
119
|
+
"upTo": 1
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"place": 3,
|
|
123
|
+
"key": "free_at",
|
|
124
|
+
"by": "20000d"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"key": "unbind",
|
|
130
|
+
"name": "Unbind",
|
|
131
|
+
"in": [
|
|
132
|
+
{
|
|
133
|
+
"takes": "burn",
|
|
134
|
+
"item": "badge"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"takes": "staked",
|
|
138
|
+
"item": "fire",
|
|
139
|
+
"farm": "altar"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"takes": "staked",
|
|
143
|
+
"item": "water",
|
|
144
|
+
"farm": "altar"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"takes": "staked",
|
|
148
|
+
"item": "earth",
|
|
149
|
+
"farm": "altar"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"takes": "staked",
|
|
153
|
+
"item": "air",
|
|
154
|
+
"farm": "altar"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"needs": [
|
|
158
|
+
{
|
|
159
|
+
"place": 1,
|
|
160
|
+
"key": "bound",
|
|
161
|
+
"atLeast": 1
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"place": 2,
|
|
165
|
+
"key": "bound",
|
|
166
|
+
"atLeast": 1
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"place": 3,
|
|
170
|
+
"key": "bound",
|
|
171
|
+
"atLeast": 1
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"place": 4,
|
|
175
|
+
"key": "bound",
|
|
176
|
+
"atLeast": 1
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"raises": [
|
|
180
|
+
{
|
|
181
|
+
"place": 1,
|
|
182
|
+
"key": "bound",
|
|
183
|
+
"by": -1
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"place": 1,
|
|
187
|
+
"key": "free_at",
|
|
188
|
+
"by": "-20000d"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"place": 2,
|
|
192
|
+
"key": "bound",
|
|
193
|
+
"by": -1
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"place": 2,
|
|
197
|
+
"key": "free_at",
|
|
198
|
+
"by": "-20000d"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"place": 3,
|
|
202
|
+
"key": "bound",
|
|
203
|
+
"by": -1
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"place": 3,
|
|
207
|
+
"key": "free_at",
|
|
208
|
+
"by": "-20000d"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"place": 4,
|
|
212
|
+
"key": "bound",
|
|
213
|
+
"by": -1
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"place": 4,
|
|
217
|
+
"key": "free_at",
|
|
218
|
+
"by": "-20000d"
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"farms": [
|
|
224
|
+
{
|
|
225
|
+
"key": "altar",
|
|
226
|
+
"name": "The altar",
|
|
227
|
+
"stakes": "collectibles",
|
|
228
|
+
"rewards": "spark",
|
|
229
|
+
"rate": {
|
|
230
|
+
"perDay": 10,
|
|
231
|
+
"minted": true
|
|
232
|
+
},
|
|
233
|
+
"tiers": [
|
|
234
|
+
{
|
|
235
|
+
"lock": "1d"
|
|
236
|
+
}
|
|
237
|
+
],
|
|
238
|
+
"lockAttribute": "free_at"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"key": "sanctum",
|
|
242
|
+
"name": "The sanctum",
|
|
243
|
+
"stakes": "collectibles",
|
|
244
|
+
"item": "badge",
|
|
245
|
+
"rewards": "spark",
|
|
246
|
+
"rate": {
|
|
247
|
+
"perDay": 100,
|
|
248
|
+
"minted": true
|
|
249
|
+
},
|
|
250
|
+
"tiers": [
|
|
251
|
+
{
|
|
252
|
+
"lock": "1d"
|
|
253
|
+
}
|
|
254
|
+
]
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"scenario": {
|
|
258
|
+
"days": 30,
|
|
259
|
+
"perDay": {
|
|
260
|
+
"item:fire": 5,
|
|
261
|
+
"item:water": 5,
|
|
262
|
+
"item:earth": 5,
|
|
263
|
+
"item:air": 5,
|
|
264
|
+
"farm:altar": 20,
|
|
265
|
+
"farm:sanctum": 5,
|
|
266
|
+
"recipe:bind": 2,
|
|
267
|
+
"recipe:unbind": 1
|
|
268
|
+
},
|
|
269
|
+
"staked": {
|
|
270
|
+
"altar": 200,
|
|
271
|
+
"sanctum": 20
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|