Race Protocol: A multi-chain infrastructure for asymmetric competitive games
- Facade: Argument format updated. Now it receives
-gfor game, and-bfor bundle.
- Now we use
id: u64instead ofaddr: stringin games. The value ofidis taken from theaccess_versionwhich is incremental and unique in game. This update helps us to improve the performance and reduce the sizes of checkpoints and states. - API:
Effect::count_playersandEffect::count_servershas been removed, useEffect::count_nodesto count how many nodes are involved in the randomization. - SDK:
AppClient.getProfilesnow receives bothaddr: stringandid: bigint. - TestKit: Add
TestClient::join.
- SDK: Remove dependency
cryptoto support NodeJS runtime. - CLI: Print
checkpointin hex format in commandgame-info. - TestKit: Add
handle_dispatch_until_no_eventsto TestHandler.
- CLI: Update
publishcommand. Now it receives the path to the WASM bundle instead of the Arweave URL to solana metadata. - Add optional
createProfileIfNeededto join options. - SDK: Add
recipientClaimand its solana implementation.
- Transactor: Improve the retry mechanism for settle.
- SDK: Load the legacy solana token list from arweave.
- SDK: Clean the timer after exit. Simplify the usage of timer in connection.
- Transactor: Log serialized effect and event when a wasm runtime error occurs.
- SDK: Fix broken on consecutive
SecretsReadyevents.
- SDK: Add fake NFT data to facade transport.
- Remove duplicated definitions for
SecretIdentandSecretShare, which causes the compliation error.
- SDK: Add
npx borsh-serializeto js/borsh.
- Transactor & Contract: Squash transactions for better performance.
- CLI: Display token address in
game-info.
- Transactor: Fix sending duplicated settlements.
- SDK: Fix double reconnecting.
- CLI: Recover fees in
unreg-game. - CLI: Display slot's balance in
recipient-infocommand.
- Solana: Fix NFT caching
- Now games must implement
into_checkpoint.
- SDK & Transactor & Contract: Add checkpoint to on-chain game account so that we can reproduce correct game state without querying transactor.
- SDK: Add meaningful return value for transport API.
- Solana: Fix compute budget limit.
- CLI: Add
claimcommand to claim tokens from a recipient account.
- SDK: Add caching for token/NFT fetching.
- SDK: Add caching for game bundle fetching. (Caching for wasm module is TBD)
- SDK: Add
dataanddataLentoAppHelper.info. - SDK: Add original metadata to NFT structure.
- CONTRACT: Remove
claim_amount_cap.
- A minimal crate
apiis separated fromcore. This crate will replace the oldcoreand be used in game bundle.
- SDK: Add new parameter
onConnectionStatetoAppClientInitOpts. A function is expeceted to receive one string argument which represents the network status to transactor. - SDK: Add reconnecting.
- Transactor: Add local blacklist for malformed game address. Add
disable_blacklist = trueto[transactor]section in config file to disable. - Transactor: Add task queue in transactor submitter.
- CLI: Add
recipient-infocommand for querying the recipient structure by address. - SDK: Add
bundleAddrandtokenAddrto game info. - SDK: Fix
listTokensandgetTokenin facade transport. - SDK: Close the websocket connection when exit game.
It basically works with a Holdem game