Last active
February 29, 2024 15:19
-
-
Save cloakd/cc823548971f33b964dea373687f50f7 to your computer and use it in GitHub Desktop.
chrono_idl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"version": "0.1.1", | |
"name": "solana_tribes", | |
"instructions": [ | |
{ | |
"name": "mintTokens", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "destinationTokenAccount", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "mint", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "mintAuthority", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tokenProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "amount", | |
"type": "u64" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "createWorld", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "treasury", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "defaultTribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "seed", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tokenMint", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "entryFee", | |
"type": "u64" | |
}, | |
{ | |
"name": "gameSpeed", | |
"type": "u8" | |
}, | |
{ | |
"name": "resourceSpeed", | |
"type": "u8" | |
}, | |
{ | |
"name": "maxBuildingLevel", | |
"type": "u8" | |
}, | |
{ | |
"name": "beginnerProtection", | |
"type": "u32" | |
}, | |
{ | |
"name": "name", | |
"type": "string" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "createWorldRelic", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "x", | |
"type": "u16" | |
}, | |
{ | |
"name": "y", | |
"type": "u16" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "checkRelicWin", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "relic1", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic2", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic3", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic4", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "worldTreasury", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "checkTribeWin", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "relic1", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic2", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic3", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "relic4", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "worldTreasury", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "sendAttack", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcUser", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcTribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "attack", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstUser", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "thread", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "threadAuthority", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clockworkProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "t1", | |
"type": "u32" | |
}, | |
{ | |
"name": "t2", | |
"type": "u32" | |
}, | |
{ | |
"name": "t3", | |
"type": "u32" | |
}, | |
{ | |
"name": "t4", | |
"type": "u32" | |
}, | |
{ | |
"name": "t5", | |
"type": "u32" | |
}, | |
{ | |
"name": "t6", | |
"type": "u32" | |
}, | |
{ | |
"name": "t7", | |
"type": "u32" | |
}, | |
{ | |
"name": "t8", | |
"type": "u32" | |
}, | |
{ | |
"name": "t9", | |
"type": "u32" | |
}, | |
{ | |
"name": "threadId", | |
"type": "bytes" | |
} | |
] | |
}, | |
{ | |
"name": "sendSupport", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcUser", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "support", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstUser", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "thread", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "threadAuthority", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clockworkProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcTribe", | |
"isMut": true, | |
"isSigner": false, | |
"isOptional": true | |
} | |
], | |
"args": [ | |
{ | |
"name": "t1", | |
"type": "u32" | |
}, | |
{ | |
"name": "t2", | |
"type": "u32" | |
}, | |
{ | |
"name": "t3", | |
"type": "u32" | |
}, | |
{ | |
"name": "t4", | |
"type": "u32" | |
}, | |
{ | |
"name": "t5", | |
"type": "u32" | |
}, | |
{ | |
"name": "t6", | |
"type": "u32" | |
}, | |
{ | |
"name": "t7", | |
"type": "u32" | |
}, | |
{ | |
"name": "t8", | |
"type": "u32" | |
}, | |
{ | |
"name": "t9", | |
"type": "u32" | |
}, | |
{ | |
"name": "threadId", | |
"type": "bytes" | |
} | |
] | |
}, | |
{ | |
"name": "supportVillageResult", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcVillage", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcUser", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "support", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "supportingUser", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcTribe", | |
"isMut": true, | |
"isSigner": false, | |
"isOptional": true | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "attackVillageResult", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcUser", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcTribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "attack", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "attackingUser", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "simulateAttackResult", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstVillage", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "t1", | |
"type": "u32" | |
}, | |
{ | |
"name": "t2", | |
"type": "u32" | |
}, | |
{ | |
"name": "t3", | |
"type": "u32" | |
}, | |
{ | |
"name": "t4", | |
"type": "u32" | |
}, | |
{ | |
"name": "t5", | |
"type": "u32" | |
}, | |
{ | |
"name": "t6", | |
"type": "u32" | |
}, | |
{ | |
"name": "t7", | |
"type": "u32" | |
}, | |
{ | |
"name": "t8", | |
"type": "u32" | |
}, | |
{ | |
"name": "t9", | |
"type": "u32" | |
}, | |
{ | |
"name": "td1", | |
"type": "u32" | |
}, | |
{ | |
"name": "td2", | |
"type": "u32" | |
}, | |
{ | |
"name": "td3", | |
"type": "u32" | |
}, | |
{ | |
"name": "td4", | |
"type": "u32" | |
}, | |
{ | |
"name": "td5", | |
"type": "u32" | |
}, | |
{ | |
"name": "td6", | |
"type": "u32" | |
}, | |
{ | |
"name": "td7", | |
"type": "u32" | |
}, | |
{ | |
"name": "td8", | |
"type": "u32" | |
}, | |
{ | |
"name": "td9", | |
"type": "u32" | |
}, | |
{ | |
"name": "td10", | |
"type": "u32" | |
} | |
] | |
}, | |
{ | |
"name": "callMilitia", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "createVillage", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "treasury", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "x", | |
"type": "u16" | |
}, | |
{ | |
"name": "y", | |
"type": "u16" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": "string" | |
}, | |
{ | |
"name": "username", | |
"type": "string" | |
} | |
] | |
}, | |
{ | |
"name": "settleVillage", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "srcVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "dstVillage", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "x", | |
"type": "u16" | |
}, | |
{ | |
"name": "y", | |
"type": "u16" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": "string" | |
} | |
] | |
}, | |
{ | |
"name": "autoCompleteQueue", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "sourceTokenAccount", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "mint", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "tokenProgram", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "mintAuthority", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "upgradeIdx", | |
"type": "u8" | |
}, | |
{ | |
"name": "isBuildingQueue", | |
"type": "bool" | |
} | |
] | |
}, | |
{ | |
"name": "exchangeTokensForResources", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "sourceTokenAccount", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "destinationTokenAccount", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "mint", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "mintAuthority", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tokenProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "tokenAmount", | |
"type": "u64" | |
}, | |
{ | |
"name": "resourceId", | |
"type": "u8" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "exchangeResourcesForTokens", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "sourceTokenAccount", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "destinationTokenAccount", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "mint", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "mintAuthority", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tokenProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "resourceAmount", | |
"type": "u64" | |
}, | |
{ | |
"name": "resourceId", | |
"type": "u8" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "gatherResources", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "refreshVillage", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": false, | |
"isSigner": true | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "updateVillage", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
} | |
], | |
"args": [ | |
{ | |
"name": "name", | |
"type": "string" | |
} | |
] | |
}, | |
{ | |
"name": "trainTroops", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "troopType", | |
"type": "u8" | |
}, | |
{ | |
"name": "troopsToTrain", | |
"type": "u32" | |
} | |
] | |
}, | |
{ | |
"name": "upgradeBuilding", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "village", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "clock", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "buildingType", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "createTribe", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "treasury", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "tribeName", | |
"type": "string" | |
} | |
] | |
}, | |
{ | |
"name": "createUser", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": "string" | |
} | |
] | |
}, | |
{ | |
"name": "inviteTribe", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "receiver", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "invitation", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "bump", | |
"type": "u8" | |
} | |
] | |
}, | |
{ | |
"name": "joinTribe", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "invitation", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "leaveTribe", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "tribe", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
} | |
], | |
"args": [] | |
}, | |
{ | |
"name": "createRelicUser", | |
"accounts": [ | |
{ | |
"name": "world", | |
"isMut": false, | |
"isSigner": false | |
}, | |
{ | |
"name": "user", | |
"isMut": true, | |
"isSigner": false | |
}, | |
{ | |
"name": "owner", | |
"isMut": true, | |
"isSigner": true | |
}, | |
{ | |
"name": "systemProgram", | |
"isMut": false, | |
"isSigner": false | |
} | |
], | |
"args": [ | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": "string" | |
} | |
] | |
} | |
], | |
"accounts": [ | |
{ | |
"name": "invitation", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "world", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "tribe", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "sender", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "receiver", | |
"type": "publicKey" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "tribe", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "world", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "owner", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "memberCount", | |
"type": "u16" | |
}, | |
{ | |
"name": "totalPoints", | |
"type": "u64" | |
}, | |
{ | |
"name": "totalVillages", | |
"type": "u16" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
}, | |
{ | |
"name": "alliances", | |
"type": { | |
"vec": "publicKey" | |
} | |
}, | |
{ | |
"name": "enemies", | |
"type": { | |
"vec": "publicKey" | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "troopMovement", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "srcVillage", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "dstVillage", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "purpose", | |
"type": { | |
"defined": "MovementType" | |
} | |
}, | |
{ | |
"name": "arrived", | |
"type": "bool" | |
}, | |
{ | |
"name": "resources", | |
"type": { | |
"defined": "ResourceAmounts" | |
} | |
}, | |
{ | |
"name": "timer", | |
"type": { | |
"defined": "BlockTimer" | |
} | |
}, | |
{ | |
"name": "troops", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Unit" | |
}, | |
10 | |
] | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "user", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "world", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "owner", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "tribe", | |
"type": { | |
"option": "publicKey" | |
} | |
}, | |
{ | |
"name": "totalPoints", | |
"type": "u64" | |
}, | |
{ | |
"name": "totalVillages", | |
"type": "u16" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "village", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "world", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "owner", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "position", | |
"type": { | |
"defined": "Coordinates" | |
} | |
}, | |
{ | |
"name": "lastGatheredBlock", | |
"type": "u64" | |
}, | |
{ | |
"name": "militiaCalledAt", | |
"type": "u64" | |
}, | |
{ | |
"name": "resources", | |
"type": { | |
"defined": "ResourceAmounts" | |
} | |
}, | |
{ | |
"name": "buildings", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Building" | |
}, | |
10 | |
] | |
} | |
}, | |
{ | |
"name": "troops", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Unit" | |
}, | |
10 | |
] | |
} | |
}, | |
{ | |
"name": "troopsQueue", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Purchase" | |
}, | |
2 | |
] | |
} | |
}, | |
{ | |
"name": "buildingQueue", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Upgrade" | |
}, | |
2 | |
] | |
} | |
}, | |
{ | |
"name": "villageType", | |
"type": { | |
"defined": "VillageType" | |
} | |
}, | |
{ | |
"name": "nextOut", | |
"type": "u8" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "points", | |
"type": "u64" | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "world", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "version", | |
"type": "u16" | |
}, | |
{ | |
"name": "bump", | |
"type": "u8" | |
}, | |
{ | |
"name": "open", | |
"type": "bool" | |
}, | |
{ | |
"name": "entryFee", | |
"type": "u64" | |
}, | |
{ | |
"name": "seed", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "creator", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "tokenMint", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "treasury", | |
"type": "publicKey" | |
}, | |
{ | |
"name": "settings", | |
"type": { | |
"defined": "WorldSettings" | |
} | |
}, | |
{ | |
"name": "relicVillages", | |
"type": { | |
"array": [ | |
"publicKey", | |
4 | |
] | |
} | |
}, | |
{ | |
"name": "name", | |
"type": { | |
"array": [ | |
"u8", | |
32 | |
] | |
} | |
} | |
] | |
} | |
} | |
], | |
"types": [ | |
{ | |
"name": "BlockTimer", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "start", | |
"type": "u64" | |
}, | |
{ | |
"name": "finish", | |
"type": "u64" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "UpgradeCost", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "population", | |
"type": "u16" | |
}, | |
{ | |
"name": "food", | |
"type": "u16" | |
}, | |
{ | |
"name": "mana", | |
"type": "u16" | |
}, | |
{ | |
"name": "gold", | |
"type": "u16" | |
}, | |
{ | |
"name": "baseUpgradeBlocks", | |
"type": "u64" | |
}, | |
{ | |
"name": "growthRate", | |
"type": "u32" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "Building", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "buildingType", | |
"type": { | |
"defined": "BuildingType" | |
} | |
}, | |
{ | |
"name": "level", | |
"type": "u8" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "Purchase", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "troopType", | |
"type": { | |
"defined": "UnitType" | |
} | |
}, | |
{ | |
"name": "amount", | |
"type": "u32" | |
}, | |
{ | |
"name": "timer", | |
"type": { | |
"defined": "BlockTimer" | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "UnitStats", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "unitType", | |
"type": { | |
"defined": "AttackType" | |
} | |
}, | |
{ | |
"name": "attack", | |
"type": "u32" | |
}, | |
{ | |
"name": "landDefense", | |
"type": "u32" | |
}, | |
{ | |
"name": "mountedDefense", | |
"type": "u32" | |
}, | |
{ | |
"name": "rangedDefense", | |
"type": "u32" | |
}, | |
{ | |
"name": "populationCost", | |
"type": "u32" | |
}, | |
{ | |
"name": "carryCapacity", | |
"type": "u32" | |
}, | |
{ | |
"name": "foodCost", | |
"type": "u32" | |
}, | |
{ | |
"name": "manaCost", | |
"type": "u32" | |
}, | |
{ | |
"name": "goldCost", | |
"type": "u32" | |
}, | |
{ | |
"name": "trainingTime", | |
"type": "u32" | |
}, | |
{ | |
"name": "travelSpeed", | |
"type": "u8" | |
}, | |
{ | |
"name": "buildingRequirements", | |
"type": { | |
"array": [ | |
{ | |
"defined": "Upgrade" | |
}, | |
4 | |
] | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "Unit", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "troopType", | |
"type": { | |
"defined": "UnitType" | |
} | |
}, | |
{ | |
"name": "count", | |
"type": "u32" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "Upgrade", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "buildingType", | |
"type": { | |
"defined": "BuildingType" | |
} | |
}, | |
{ | |
"name": "toLevel", | |
"type": "u8" | |
}, | |
{ | |
"name": "timer", | |
"type": { | |
"defined": "BlockTimer" | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"name": "Coordinates", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "x", | |
"type": "u16" | |
}, | |
{ | |
"name": "y", | |
"type": "u16" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "ResourceAmounts", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "gold", | |
"type": "u64" | |
}, | |
{ | |
"name": "mana", | |
"type": "u64" | |
}, | |
{ | |
"name": "food", | |
"type": "u64" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "WorldSettings", | |
"type": { | |
"kind": "struct", | |
"fields": [ | |
{ | |
"name": "gameSpeed", | |
"type": "u8" | |
}, | |
{ | |
"name": "maxBuildingLevel", | |
"type": "u8" | |
}, | |
{ | |
"name": "resourceProductionFactor", | |
"type": "u8" | |
}, | |
{ | |
"name": "beginnerProtectionBlocks", | |
"type": "u32" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "AttackType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Land" | |
}, | |
{ | |
"name": "Mounted" | |
}, | |
{ | |
"name": "Ranged" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "BuildingType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "HQ" | |
}, | |
{ | |
"name": "Farm" | |
}, | |
{ | |
"name": "Mine" | |
}, | |
{ | |
"name": "Mana" | |
}, | |
{ | |
"name": "Warehouse" | |
}, | |
{ | |
"name": "Barracks" | |
}, | |
{ | |
"name": "Stable" | |
}, | |
{ | |
"name": "Siege" | |
}, | |
{ | |
"name": "Wall" | |
}, | |
{ | |
"name": "Market" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "MovementType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Attack" | |
}, | |
{ | |
"name": "Support" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "UnitType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "SpearFighter" | |
}, | |
{ | |
"name": "Swordsman" | |
}, | |
{ | |
"name": "Axeman" | |
}, | |
{ | |
"name": "Archer" | |
}, | |
{ | |
"name": "LightCavalry" | |
}, | |
{ | |
"name": "HeavyCavalry" | |
}, | |
{ | |
"name": "Ram" | |
}, | |
{ | |
"name": "Catapult" | |
}, | |
{ | |
"name": "Settler" | |
}, | |
{ | |
"name": "Militia" | |
} | |
] | |
} | |
}, | |
{ | |
"name": "VillageType", | |
"type": { | |
"kind": "enum", | |
"variants": [ | |
{ | |
"name": "Default" | |
}, | |
{ | |
"name": "Relic" | |
}, | |
{ | |
"name": "WorldWonder" | |
} | |
] | |
} | |
} | |
]} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment