create-dubhe 1.2.0-pre.99 → 2.0.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/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/package.json +16 -16
- package/templates/101/sui-template/docker-compose.testnet.yml +73 -0
- package/templates/101/sui-template/packages/client/src/app/page.tsx +545 -41
- package/templates/101/sui-template/packages/client/src/app/providers.tsx +12 -4
- package/templates/101/sui-template/packages/contracts/Pub.localnet.toml +4 -4
- package/templates/101/sui-template/packages/contracts/counter.lock.json +20 -0
- package/templates/101/sui-template/packages/contracts/deployment.ts +8 -3
- package/templates/101/sui-template/packages/contracts/dubhe.config.json +59 -13
- package/templates/101/sui-template/packages/contracts/dubhe.config.ts +1 -4
- package/templates/101/sui-template/packages/contracts/metadata.json +1015 -68
- package/templates/101/sui-template/packages/contracts/package.json +7 -4
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/dapp_key.move +45 -31
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/error.move +8 -0
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/genesis.move +30 -13
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/init_test.move +19 -14
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/resources/counter2.move +198 -0
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/resources/counter2withkey.move +90 -0
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/resources/value.move +30 -20
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/user_storage_init.move +26 -0
- package/templates/101/sui-template/packages/contracts/src/counter/sources/scripts/deploy_hook.move +6 -11
- package/templates/101/sui-template/packages/contracts/src/counter/sources/systems/counter.move +23 -11
- package/templates/101/sui-template/packages/contracts/src/counter/sources/tests/counter.move +15 -14
- package/templates/101/sui-template/packages/contracts/src/dubhe/Move.lock +33 -30
- package/templates/101/sui-template/packages/contracts/src/dubhe/Move.toml +4 -3
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/dapp_key.move +45 -31
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/error.move +170 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/genesis.move +16 -13
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/init_test.move +8 -14
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/core/account_key.move +1 -3
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/core/dapp_service.move +1776 -137
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/core/data_key.move +1 -20
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/core/events.move +864 -25
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/scripts/deploy_hook.move +15 -16
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/scripts/migrate.move +0 -3
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/systems/address_system.move +25 -17
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/systems/dapp_system.move +2802 -343
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/systems/utils.move +1 -1
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/address.move +173 -55
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/dapp_test.move +769 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/fee_test.move +2965 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/integration_test.move +303 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/listing_test.move +1422 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/scene_session_test.move +269 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/session_test.move +624 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/storage_test.move +700 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/typed_object_test.move +177 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/typed_scene_test.move +452 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/tests/user_storage_test.move +160 -0
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/utils/math.move +4 -3
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/utils/type_info.move +2 -2
- package/templates/contract/sui-template/dubhe.config.ts +0 -1
- package/templates/contract/sui-template/package.json +3 -3
- package/templates/contract/sui-template/src/dubhe/Move.lock +33 -30
- package/templates/contract/sui-template/src/dubhe/Move.toml +4 -3
- package/templates/contract/sui-template/src/dubhe/sources/codegen/dapp_key.move +45 -31
- package/templates/contract/sui-template/src/dubhe/sources/codegen/error.move +170 -0
- package/templates/contract/sui-template/src/dubhe/sources/codegen/genesis.move +16 -13
- package/templates/contract/sui-template/src/dubhe/sources/codegen/init_test.move +8 -14
- package/templates/contract/sui-template/src/dubhe/sources/core/account_key.move +1 -3
- package/templates/contract/sui-template/src/dubhe/sources/core/dapp_service.move +1776 -137
- package/templates/contract/sui-template/src/dubhe/sources/core/data_key.move +1 -20
- package/templates/contract/sui-template/src/dubhe/sources/core/events.move +864 -25
- package/templates/contract/sui-template/src/dubhe/sources/scripts/deploy_hook.move +15 -16
- package/templates/contract/sui-template/src/dubhe/sources/scripts/migrate.move +0 -3
- package/templates/contract/sui-template/src/dubhe/sources/systems/address_system.move +25 -17
- package/templates/contract/sui-template/src/dubhe/sources/systems/dapp_system.move +2802 -343
- package/templates/contract/sui-template/src/dubhe/sources/systems/utils.move +1 -1
- package/templates/contract/sui-template/src/dubhe/sources/tests/address.move +173 -55
- package/templates/contract/sui-template/src/dubhe/sources/tests/dapp_test.move +769 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/fee_test.move +2965 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/integration_test.move +303 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/listing_test.move +1422 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/scene_session_test.move +269 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/session_test.move +624 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/storage_test.move +700 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/typed_object_test.move +177 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/typed_scene_test.move +452 -0
- package/templates/contract/sui-template/src/dubhe/sources/tests/user_storage_test.move +160 -0
- package/templates/contract/sui-template/src/dubhe/sources/utils/math.move +4 -3
- package/templates/contract/sui-template/src/dubhe/sources/utils/type_info.move +2 -2
- package/templates/contract/sui-template/src/template/Move.toml +12 -0
- package/templates/contract/sui-template/src/template/sources/codegen/dapp_key.move +47 -0
- package/templates/contract/sui-template/src/template/sources/codegen/genesis.move +34 -0
- package/templates/contract/sui-template/src/template/sources/codegen/init_test.move +23 -0
- package/templates/contract/sui-template/src/template/sources/codegen/user_storage_init.move +27 -0
- package/templates/contract/sui-template/src/template/sources/scripts/deploy_hook.move +13 -0
- package/templates/contract/sui-template/src/template/sources/scripts/migrate.move +7 -0
- package/templates/nextjs/sui-card-duel/.gitignore_ +51 -0
- package/templates/nextjs/sui-card-duel/README.md +213 -0
- package/templates/nextjs/sui-card-duel/docker-compose.yml +34 -0
- package/templates/nextjs/sui-card-duel/mprocs.yaml +17 -0
- package/templates/nextjs/sui-card-duel/package.json +43 -0
- package/templates/nextjs/sui-card-duel/packages/client/.gitignore_ +48 -0
- package/templates/nextjs/sui-card-duel/packages/client/.prettierignore +1 -0
- package/templates/nextjs/sui-card-duel/packages/client/.prettierrc.json +8 -0
- package/templates/nextjs/sui-card-duel/packages/client/eslint.config.mjs +22 -0
- package/templates/nextjs/sui-card-duel/packages/client/next.config.mjs +8 -0
- package/templates/nextjs/sui-card-duel/packages/client/package.json +47 -0
- package/templates/nextjs/sui-card-duel/packages/client/postcss.config.mjs +8 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/admin/ArenaPanel.tsx +307 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/admin/page.tsx +622 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/brawl/[id]/page.tsx +559 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/collection/page.tsx +202 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/components/CardView.tsx +66 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/components/GameShell.tsx +294 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/components/icons.tsx +101 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/duel/[id]/page.tsx +477 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/favicon.ico +0 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/globals.css +85 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/hooks/useGame.ts +313 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/layout.tsx +24 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/leaderboard/page.tsx +123 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/lib/game.ts +77 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/lib/scenes.ts +226 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/market/page.tsx +418 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/page.tsx +427 -0
- package/templates/nextjs/sui-card-duel/packages/client/src/app/providers.tsx +69 -0
- package/templates/nextjs/sui-card-duel/packages/client/tailwind.config.ts +21 -0
- package/templates/nextjs/sui-card-duel/packages/client/tsconfig.json +30 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/.gitignore_ +51 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/.prettierignore +1 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/.prettierrc.json +8 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/Dockerfile +5 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/Pub.localnet.toml +13 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/card_duel.lock.json +66 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/docker-compose.yml +34 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/dubhe.config.ts +150 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/logs/combined.log +31383 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/package.json +49 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/config.ts +17 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/e2e-brawl.ts +270 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/e2e-duel.ts +272 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/e2e-lobby.ts +177 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/e2e-market.ts +219 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/e2e-session.ts +342 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/query-dapp-revenue.ts +95 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/seed.ts +92 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/scripts/withdraw-dapp-revenue.ts +56 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/Move.toml +15 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/dapp_key.move +46 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/enums/card_kind.move +47 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/enums/match_state.move +37 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/enums/rarity.move +37 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/error.move +126 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/genesis.move +33 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/init_test.move +23 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/objects/arena.move +137 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/permits/brawl_permit.move +125 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/permits/duel_permit.move +125 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/resources/battle_state.move +255 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/resources/card.move +282 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/resources/deck.move +64 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/resources/game_config.move +267 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/resources/gold.move +205 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/resources/profile.move +255 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/scenes/brawl.move +313 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/scenes/duel.move +313 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/codegen/user_storage_init.move +26 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/scripts/deploy_hook.move +32 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/scripts/migrate.move +7 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/systems/arena_system.move +57 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/systems/brawl_system.move +559 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/systems/card_system.move +146 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/systems/duel_system.move +515 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/systems/market_system.move +115 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/systems/player_system.move +37 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/tests/brawl_tests.move +385 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/tests/duel_tests.move +656 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/src/card_duel/sources/tests/test_helpers.move +31 -0
- package/templates/nextjs/sui-card-duel/packages/contracts/sui-indexer-schema.graphql +5973 -0
- package/templates/nextjs/sui-card-duel/pnpm-workspace.yaml +2 -0
- package/templates/nextjs/sui-farm/.gitignore_ +51 -0
- package/templates/nextjs/sui-farm/README.md +15 -0
- package/templates/nextjs/sui-farm/UPGRADE_NOTES.md +97 -0
- package/templates/nextjs/sui-farm/docker-compose.yml +34 -0
- package/templates/nextjs/sui-farm/mprocs.yaml +17 -0
- package/templates/nextjs/sui-farm/package.json +43 -0
- package/templates/nextjs/sui-farm/packages/client/.gitignore_ +48 -0
- package/templates/nextjs/sui-farm/packages/client/.prettierignore +1 -0
- package/templates/nextjs/sui-farm/packages/client/.prettierrc.json +8 -0
- package/templates/nextjs/sui-farm/packages/client/eslint.config.mjs +22 -0
- package/templates/nextjs/sui-farm/packages/client/next.config.mjs +8 -0
- package/templates/nextjs/sui-farm/packages/client/package.json +47 -0
- package/templates/nextjs/sui-farm/packages/client/postcss.config.mjs +8 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/admin/page.tsx +618 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/FarmLand.tsx +526 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/FarmPlotCard.tsx +215 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/PetAvatar.tsx +868 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/PetPanel.tsx +1360 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/PlantModal.tsx +147 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/ProxyCard.tsx +684 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/RanchLand.tsx +822 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/ResourceHUD.tsx +125 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/ShopPanel.tsx +232 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/components/icons/GameIcons.tsx +574 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/favicon.ico +0 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/globals.css +423 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/hooks/useWorldPermitId.ts +66 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/layout.tsx +23 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/leaderboard/page.tsx +185 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/lib/crops.ts +97 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/market/page.tsx +763 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/page.tsx +1173 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/providers.tsx +69 -0
- package/templates/nextjs/sui-farm/packages/client/src/app/state/index.tsx +5 -0
- package/templates/nextjs/sui-farm/packages/client/tailwind.config.ts +25 -0
- package/templates/nextjs/sui-farm/packages/client/tsconfig.json +30 -0
- package/templates/nextjs/sui-farm/packages/contracts/.gitignore_ +51 -0
- package/templates/nextjs/sui-farm/packages/contracts/.prettierignore +1 -0
- package/templates/nextjs/sui-farm/packages/contracts/.prettierrc.json +8 -0
- package/templates/nextjs/sui-farm/packages/contracts/Dockerfile +5 -0
- package/templates/nextjs/sui-farm/packages/contracts/Pub.localnet.toml +13 -0
- package/templates/nextjs/sui-farm/packages/contracts/counter.lock.json +14 -0
- package/templates/nextjs/sui-farm/packages/contracts/docker-compose.yml +34 -0
- package/templates/nextjs/sui-farm/packages/contracts/dubhe.config.ts +178 -0
- package/templates/nextjs/sui-farm/packages/contracts/harvest.lock.json +120 -0
- package/templates/nextjs/sui-farm/packages/contracts/package.json +48 -0
- package/templates/nextjs/sui-farm/packages/contracts/scripts/config.ts +17 -0
- package/templates/nextjs/sui-farm/packages/contracts/scripts/query-dapp-revenue.ts +95 -0
- package/templates/nextjs/sui-farm/packages/contracts/scripts/read-permit.ts +72 -0
- package/templates/nextjs/sui-farm/packages/contracts/scripts/seed.ts +85 -0
- package/templates/nextjs/sui-farm/packages/contracts/scripts/withdraw-dapp-revenue.ts +56 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/Move.toml +14 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/dapp_key.move +31 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/error.move +10 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/genesis.move +33 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/init_test.move +23 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/resources/counter1.move +64 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/resources/counter2.move +70 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/codegen/user_storage_init.move +26 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/scripts/deploy_hook.move +8 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/scripts/migrate.move +8 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/systems/counter.move +13 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/counter/sources/tests/counter.move +28 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/Move.toml +14 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/dapp_key.move +46 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/enums/crop_type.move +47 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/enums/egg_type.move +42 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/enums/pet_rarity.move +37 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/enums/pet_species.move +52 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/error.move +110 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/genesis.move +33 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/init_test.move +23 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/permits/world.move +125 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/carrot.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/carrot_seed.move +80 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/common_egg.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/corn.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/corn_seed.move +80 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/crow_charges.move +162 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/crow_damage.move +207 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/farm_plot.move +261 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/gold.move +80 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pet.move +467 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pet_config.move +372 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pet_hatch.move +162 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pet_slot_index.move +83 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pet_slots.move +64 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/profile.move +162 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pumpkin.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/pumpkin_seed.move +80 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/rare_egg.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/scarecrow.move +64 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/season_config.move +197 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/season_stats.move +64 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/seasonal_egg.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/shop_config.move +267 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/trophy.move +245 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/wheat.move +136 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/wheat_seed.move +80 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/resources/world_permit_id.move +64 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/codegen/user_storage_init.move +26 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/scripts/deploy_hook.move +45 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/scripts/migrate.move +7 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/crow_system.move +96 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/farm_system.move +182 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/market_system.move +172 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/pet_system.move +495 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/season_system.move +70 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/shop_system.move +112 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/systems/world_system.move +34 -0
- package/templates/nextjs/sui-farm/packages/contracts/src/harvest/sources/tests/farm_tests.move +1192 -0
- package/templates/nextjs/sui-farm/pnpm-workspace.yaml +2 -0
- package/templates/nextjs/sui-template/packages/client/src/app/components/ProxyCard.tsx +683 -0
- package/templates/nextjs/sui-template/packages/client/src/app/page.tsx +510 -5
- package/templates/nextjs/sui-template/packages/client/src/app/providers.tsx +13 -5
- package/templates/nextjs/sui-template/packages/contracts/Pub.localnet.toml +4 -4
- package/templates/nextjs/sui-template/packages/contracts/counter.lock.json +14 -0
- package/templates/nextjs/sui-template/packages/contracts/deployment.ts +8 -3
- package/templates/nextjs/sui-template/packages/contracts/dubhe.config.json +9 -9
- package/templates/nextjs/sui-template/packages/contracts/dubhe.config.ts +0 -4
- package/templates/nextjs/sui-template/packages/contracts/metadata.json +180 -124
- package/templates/nextjs/sui-template/packages/contracts/package.json +8 -4
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/dapp_key.move +45 -31
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/error.move +10 -0
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/genesis.move +30 -13
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/init_test.move +19 -14
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/resources/counter1.move +30 -20
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/resources/counter2.move +35 -24
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/user_storage_init.move +26 -0
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/scripts/deploy_hook.move +6 -10
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/systems/counter.move +7 -20
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/tests/counter.move +14 -27
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/Move.lock +33 -30
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/Move.toml +4 -3
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/dapp_key.move +45 -31
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/error.move +170 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/genesis.move +16 -13
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/init_test.move +8 -14
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/core/account_key.move +1 -3
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/core/dapp_service.move +1776 -137
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/core/data_key.move +1 -20
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/core/events.move +864 -25
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/scripts/deploy_hook.move +15 -16
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/scripts/migrate.move +0 -3
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/systems/address_system.move +25 -17
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/systems/dapp_system.move +2802 -343
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/systems/utils.move +1 -1
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/address.move +173 -55
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/dapp_test.move +769 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/fee_test.move +2965 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/integration_test.move +303 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/listing_test.move +1422 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/scene_session_test.move +269 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/session_test.move +624 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/storage_test.move +700 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/typed_object_test.move +177 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/typed_scene_test.move +452 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/tests/user_storage_test.move +160 -0
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/utils/math.move +4 -3
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/utils/type_info.move +2 -2
- package/templates/101/sui-template/packages/contracts/src/counter/Move.lock +0 -41
- package/templates/101/sui-template/packages/contracts/src/counter/Published.toml +0 -9
- package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/errors.move +0 -12
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/errors.move +0 -140
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dapp_fee_config.move +0 -186
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dapp_fee_state.move +0 -306
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dapp_metadata.move +0 -396
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dubhe_config.move +0 -246
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/core/dapp_store.move +0 -29
- package/templates/101/sui-template/packages/contracts/src/dubhe/sources/systems/session_system.move +0 -44
- package/templates/contract/sui-template/src/dubhe/sources/codegen/errors.move +0 -140
- package/templates/contract/sui-template/src/dubhe/sources/codegen/resources/dapp_fee_config.move +0 -186
- package/templates/contract/sui-template/src/dubhe/sources/codegen/resources/dapp_fee_state.move +0 -306
- package/templates/contract/sui-template/src/dubhe/sources/codegen/resources/dapp_metadata.move +0 -396
- package/templates/contract/sui-template/src/dubhe/sources/codegen/resources/dubhe_config.move +0 -246
- package/templates/contract/sui-template/src/dubhe/sources/core/dapp_store.move +0 -29
- package/templates/contract/sui-template/src/dubhe/sources/systems/session_system.move +0 -44
- package/templates/nextjs/sui-template/packages/contracts/src/counter/Move.lock +0 -47
- package/templates/nextjs/sui-template/packages/contracts/src/counter/Published.toml +0 -9
- package/templates/nextjs/sui-template/packages/contracts/src/counter/sources/codegen/errors.move +0 -12
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/errors.move +0 -140
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dapp_fee_config.move +0 -186
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dapp_fee_state.move +0 -306
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dapp_metadata.move +0 -396
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/codegen/resources/dubhe_config.move +0 -246
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/core/dapp_store.move +0 -29
- package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/systems/session_system.move +0 -44
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
|
5
|
+
|
|
6
|
+
module harvest::pet_config {
|
|
7
|
+
use sui::bcs::{to_bytes};
|
|
8
|
+
use dubhe::dapp_service::DappStorage;
|
|
9
|
+
use dubhe::dapp_system;
|
|
10
|
+
use harvest::dapp_key;
|
|
11
|
+
use harvest::dapp_key::DappKey;
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
const TABLE_NAME: vector<u8> = b"pet_config";
|
|
15
|
+
const OFFCHAIN: bool = false;
|
|
16
|
+
|
|
17
|
+
public struct PetConfig has copy, drop, store {
|
|
18
|
+
common_egg_price: u64,
|
|
19
|
+
rare_egg_price: u64,
|
|
20
|
+
seasonal_egg_price: u64,
|
|
21
|
+
common_hatch_ms: u64,
|
|
22
|
+
rare_hatch_ms: u64,
|
|
23
|
+
seasonal_hatch_ms: u64,
|
|
24
|
+
slot2_price: u64,
|
|
25
|
+
slot3_price: u64,
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public fun new(common_egg_price: u64, rare_egg_price: u64, seasonal_egg_price: u64, common_hatch_ms: u64, rare_hatch_ms: u64, seasonal_hatch_ms: u64, slot2_price: u64, slot3_price: u64): PetConfig {
|
|
29
|
+
PetConfig {
|
|
30
|
+
common_egg_price,
|
|
31
|
+
rare_egg_price,
|
|
32
|
+
seasonal_egg_price,
|
|
33
|
+
common_hatch_ms,
|
|
34
|
+
rare_hatch_ms,
|
|
35
|
+
seasonal_hatch_ms,
|
|
36
|
+
slot2_price,
|
|
37
|
+
slot3_price,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public fun common_egg_price(self: &PetConfig): u64 {
|
|
42
|
+
self.common_egg_price
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public fun rare_egg_price(self: &PetConfig): u64 {
|
|
46
|
+
self.rare_egg_price
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public fun seasonal_egg_price(self: &PetConfig): u64 {
|
|
50
|
+
self.seasonal_egg_price
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public fun common_hatch_ms(self: &PetConfig): u64 {
|
|
54
|
+
self.common_hatch_ms
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public fun rare_hatch_ms(self: &PetConfig): u64 {
|
|
58
|
+
self.rare_hatch_ms
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public fun seasonal_hatch_ms(self: &PetConfig): u64 {
|
|
62
|
+
self.seasonal_hatch_ms
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public fun slot2_price(self: &PetConfig): u64 {
|
|
66
|
+
self.slot2_price
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public fun slot3_price(self: &PetConfig): u64 {
|
|
70
|
+
self.slot3_price
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public fun update_common_egg_price(self: &mut PetConfig, common_egg_price: u64) {
|
|
74
|
+
self.common_egg_price = common_egg_price
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public fun update_rare_egg_price(self: &mut PetConfig, rare_egg_price: u64) {
|
|
78
|
+
self.rare_egg_price = rare_egg_price
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public fun update_seasonal_egg_price(self: &mut PetConfig, seasonal_egg_price: u64) {
|
|
82
|
+
self.seasonal_egg_price = seasonal_egg_price
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public fun update_common_hatch_ms(self: &mut PetConfig, common_hatch_ms: u64) {
|
|
86
|
+
self.common_hatch_ms = common_hatch_ms
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
public fun update_rare_hatch_ms(self: &mut PetConfig, rare_hatch_ms: u64) {
|
|
90
|
+
self.rare_hatch_ms = rare_hatch_ms
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public fun update_seasonal_hatch_ms(self: &mut PetConfig, seasonal_hatch_ms: u64) {
|
|
94
|
+
self.seasonal_hatch_ms = seasonal_hatch_ms
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public fun update_slot2_price(self: &mut PetConfig, slot2_price: u64) {
|
|
98
|
+
self.slot2_price = slot2_price
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public fun update_slot3_price(self: &mut PetConfig, slot3_price: u64) {
|
|
102
|
+
self.slot3_price = slot3_price
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public fun has(dapp_storage: &DappStorage): bool {
|
|
106
|
+
let mut key_tuple = vector::empty();
|
|
107
|
+
key_tuple.push_back(TABLE_NAME);
|
|
108
|
+
dapp_system::has_global_record<DappKey>(dapp_storage, key_tuple)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
public fun ensure_has(dapp_storage: &DappStorage) {
|
|
112
|
+
let mut key_tuple = vector::empty();
|
|
113
|
+
key_tuple.push_back(TABLE_NAME);
|
|
114
|
+
dapp_system::ensure_has_global_record<DappKey>(dapp_storage, key_tuple)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
public fun ensure_has_not(dapp_storage: &DappStorage) {
|
|
118
|
+
let mut key_tuple = vector::empty();
|
|
119
|
+
key_tuple.push_back(TABLE_NAME);
|
|
120
|
+
dapp_system::ensure_has_not_global_record<DappKey>(dapp_storage, key_tuple)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
public(package) fun delete(dapp_storage: &mut DappStorage) {
|
|
125
|
+
let mut key_tuple = vector::empty();
|
|
126
|
+
key_tuple.push_back(TABLE_NAME);
|
|
127
|
+
dapp_system::delete_global_record<DappKey>(dapp_key::new(), dapp_storage, key_tuple, vector[b"common_egg_price", b"rare_egg_price", b"seasonal_egg_price", b"common_hatch_ms", b"rare_hatch_ms", b"seasonal_hatch_ms", b"slot2_price", b"slot3_price"]);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
public fun get_common_egg_price(dapp_storage: &DappStorage): u64 {
|
|
131
|
+
let mut key_tuple = vector::empty();
|
|
132
|
+
key_tuple.push_back(TABLE_NAME);
|
|
133
|
+
let common_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"common_egg_price");
|
|
134
|
+
let mut common_egg_price_bcs = sui::bcs::new(common_egg_price_raw);
|
|
135
|
+
let common_egg_price = sui::bcs::peel_u64(&mut common_egg_price_bcs);
|
|
136
|
+
common_egg_price
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
public(package) fun set_common_egg_price(dapp_storage: &mut DappStorage, common_egg_price: u64) {
|
|
140
|
+
let mut key_tuple = vector::empty();
|
|
141
|
+
key_tuple.push_back(TABLE_NAME);
|
|
142
|
+
let value = to_bytes(&common_egg_price);
|
|
143
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"common_egg_price", value);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
public fun get_rare_egg_price(dapp_storage: &DappStorage): u64 {
|
|
147
|
+
let mut key_tuple = vector::empty();
|
|
148
|
+
key_tuple.push_back(TABLE_NAME);
|
|
149
|
+
let rare_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"rare_egg_price");
|
|
150
|
+
let mut rare_egg_price_bcs = sui::bcs::new(rare_egg_price_raw);
|
|
151
|
+
let rare_egg_price = sui::bcs::peel_u64(&mut rare_egg_price_bcs);
|
|
152
|
+
rare_egg_price
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
public(package) fun set_rare_egg_price(dapp_storage: &mut DappStorage, rare_egg_price: u64) {
|
|
156
|
+
let mut key_tuple = vector::empty();
|
|
157
|
+
key_tuple.push_back(TABLE_NAME);
|
|
158
|
+
let value = to_bytes(&rare_egg_price);
|
|
159
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"rare_egg_price", value);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
public fun get_seasonal_egg_price(dapp_storage: &DappStorage): u64 {
|
|
163
|
+
let mut key_tuple = vector::empty();
|
|
164
|
+
key_tuple.push_back(TABLE_NAME);
|
|
165
|
+
let seasonal_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"seasonal_egg_price");
|
|
166
|
+
let mut seasonal_egg_price_bcs = sui::bcs::new(seasonal_egg_price_raw);
|
|
167
|
+
let seasonal_egg_price = sui::bcs::peel_u64(&mut seasonal_egg_price_bcs);
|
|
168
|
+
seasonal_egg_price
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
public(package) fun set_seasonal_egg_price(dapp_storage: &mut DappStorage, seasonal_egg_price: u64) {
|
|
172
|
+
let mut key_tuple = vector::empty();
|
|
173
|
+
key_tuple.push_back(TABLE_NAME);
|
|
174
|
+
let value = to_bytes(&seasonal_egg_price);
|
|
175
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"seasonal_egg_price", value);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
public fun get_common_hatch_ms(dapp_storage: &DappStorage): u64 {
|
|
179
|
+
let mut key_tuple = vector::empty();
|
|
180
|
+
key_tuple.push_back(TABLE_NAME);
|
|
181
|
+
let common_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"common_hatch_ms");
|
|
182
|
+
let mut common_hatch_ms_bcs = sui::bcs::new(common_hatch_ms_raw);
|
|
183
|
+
let common_hatch_ms = sui::bcs::peel_u64(&mut common_hatch_ms_bcs);
|
|
184
|
+
common_hatch_ms
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
public(package) fun set_common_hatch_ms(dapp_storage: &mut DappStorage, common_hatch_ms: u64) {
|
|
188
|
+
let mut key_tuple = vector::empty();
|
|
189
|
+
key_tuple.push_back(TABLE_NAME);
|
|
190
|
+
let value = to_bytes(&common_hatch_ms);
|
|
191
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"common_hatch_ms", value);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
public fun get_rare_hatch_ms(dapp_storage: &DappStorage): u64 {
|
|
195
|
+
let mut key_tuple = vector::empty();
|
|
196
|
+
key_tuple.push_back(TABLE_NAME);
|
|
197
|
+
let rare_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"rare_hatch_ms");
|
|
198
|
+
let mut rare_hatch_ms_bcs = sui::bcs::new(rare_hatch_ms_raw);
|
|
199
|
+
let rare_hatch_ms = sui::bcs::peel_u64(&mut rare_hatch_ms_bcs);
|
|
200
|
+
rare_hatch_ms
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
public(package) fun set_rare_hatch_ms(dapp_storage: &mut DappStorage, rare_hatch_ms: u64) {
|
|
204
|
+
let mut key_tuple = vector::empty();
|
|
205
|
+
key_tuple.push_back(TABLE_NAME);
|
|
206
|
+
let value = to_bytes(&rare_hatch_ms);
|
|
207
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"rare_hatch_ms", value);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
public fun get_seasonal_hatch_ms(dapp_storage: &DappStorage): u64 {
|
|
211
|
+
let mut key_tuple = vector::empty();
|
|
212
|
+
key_tuple.push_back(TABLE_NAME);
|
|
213
|
+
let seasonal_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"seasonal_hatch_ms");
|
|
214
|
+
let mut seasonal_hatch_ms_bcs = sui::bcs::new(seasonal_hatch_ms_raw);
|
|
215
|
+
let seasonal_hatch_ms = sui::bcs::peel_u64(&mut seasonal_hatch_ms_bcs);
|
|
216
|
+
seasonal_hatch_ms
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
public(package) fun set_seasonal_hatch_ms(dapp_storage: &mut DappStorage, seasonal_hatch_ms: u64) {
|
|
220
|
+
let mut key_tuple = vector::empty();
|
|
221
|
+
key_tuple.push_back(TABLE_NAME);
|
|
222
|
+
let value = to_bytes(&seasonal_hatch_ms);
|
|
223
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"seasonal_hatch_ms", value);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
public fun get_slot2_price(dapp_storage: &DappStorage): u64 {
|
|
227
|
+
let mut key_tuple = vector::empty();
|
|
228
|
+
key_tuple.push_back(TABLE_NAME);
|
|
229
|
+
let slot2_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"slot2_price");
|
|
230
|
+
let mut slot2_price_bcs = sui::bcs::new(slot2_price_raw);
|
|
231
|
+
let slot2_price = sui::bcs::peel_u64(&mut slot2_price_bcs);
|
|
232
|
+
slot2_price
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
public(package) fun set_slot2_price(dapp_storage: &mut DappStorage, slot2_price: u64) {
|
|
236
|
+
let mut key_tuple = vector::empty();
|
|
237
|
+
key_tuple.push_back(TABLE_NAME);
|
|
238
|
+
let value = to_bytes(&slot2_price);
|
|
239
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"slot2_price", value);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
public fun get_slot3_price(dapp_storage: &DappStorage): u64 {
|
|
243
|
+
let mut key_tuple = vector::empty();
|
|
244
|
+
key_tuple.push_back(TABLE_NAME);
|
|
245
|
+
let slot3_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"slot3_price");
|
|
246
|
+
let mut slot3_price_bcs = sui::bcs::new(slot3_price_raw);
|
|
247
|
+
let slot3_price = sui::bcs::peel_u64(&mut slot3_price_bcs);
|
|
248
|
+
slot3_price
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
public(package) fun set_slot3_price(dapp_storage: &mut DappStorage, slot3_price: u64) {
|
|
252
|
+
let mut key_tuple = vector::empty();
|
|
253
|
+
key_tuple.push_back(TABLE_NAME);
|
|
254
|
+
let value = to_bytes(&slot3_price);
|
|
255
|
+
dapp_system::set_global_field<DappKey>(dapp_key::new(), dapp_storage, key_tuple, b"slot3_price", value);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
public fun get(dapp_storage: &DappStorage): (u64, u64, u64, u64, u64, u64, u64, u64) {
|
|
259
|
+
let mut key_tuple = vector::empty();
|
|
260
|
+
key_tuple.push_back(TABLE_NAME);
|
|
261
|
+
let common_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"common_egg_price");
|
|
262
|
+
let mut common_egg_price_bcs = sui::bcs::new(common_egg_price_raw);
|
|
263
|
+
let common_egg_price = sui::bcs::peel_u64(&mut common_egg_price_bcs);
|
|
264
|
+
let rare_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"rare_egg_price");
|
|
265
|
+
let mut rare_egg_price_bcs = sui::bcs::new(rare_egg_price_raw);
|
|
266
|
+
let rare_egg_price = sui::bcs::peel_u64(&mut rare_egg_price_bcs);
|
|
267
|
+
let seasonal_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"seasonal_egg_price");
|
|
268
|
+
let mut seasonal_egg_price_bcs = sui::bcs::new(seasonal_egg_price_raw);
|
|
269
|
+
let seasonal_egg_price = sui::bcs::peel_u64(&mut seasonal_egg_price_bcs);
|
|
270
|
+
let common_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"common_hatch_ms");
|
|
271
|
+
let mut common_hatch_ms_bcs = sui::bcs::new(common_hatch_ms_raw);
|
|
272
|
+
let common_hatch_ms = sui::bcs::peel_u64(&mut common_hatch_ms_bcs);
|
|
273
|
+
let rare_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"rare_hatch_ms");
|
|
274
|
+
let mut rare_hatch_ms_bcs = sui::bcs::new(rare_hatch_ms_raw);
|
|
275
|
+
let rare_hatch_ms = sui::bcs::peel_u64(&mut rare_hatch_ms_bcs);
|
|
276
|
+
let seasonal_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"seasonal_hatch_ms");
|
|
277
|
+
let mut seasonal_hatch_ms_bcs = sui::bcs::new(seasonal_hatch_ms_raw);
|
|
278
|
+
let seasonal_hatch_ms = sui::bcs::peel_u64(&mut seasonal_hatch_ms_bcs);
|
|
279
|
+
let slot2_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"slot2_price");
|
|
280
|
+
let mut slot2_price_bcs = sui::bcs::new(slot2_price_raw);
|
|
281
|
+
let slot2_price = sui::bcs::peel_u64(&mut slot2_price_bcs);
|
|
282
|
+
let slot3_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"slot3_price");
|
|
283
|
+
let mut slot3_price_bcs = sui::bcs::new(slot3_price_raw);
|
|
284
|
+
let slot3_price = sui::bcs::peel_u64(&mut slot3_price_bcs);
|
|
285
|
+
(common_egg_price, rare_egg_price, seasonal_egg_price, common_hatch_ms, rare_hatch_ms, seasonal_hatch_ms, slot2_price, slot3_price)
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
public(package) fun set(dapp_storage: &mut DappStorage, common_egg_price: u64, rare_egg_price: u64, seasonal_egg_price: u64, common_hatch_ms: u64, rare_hatch_ms: u64, seasonal_hatch_ms: u64, slot2_price: u64, slot3_price: u64) {
|
|
289
|
+
let mut key_tuple = vector::empty();
|
|
290
|
+
key_tuple.push_back(TABLE_NAME);
|
|
291
|
+
let field_names = vector[b"common_egg_price", b"rare_egg_price", b"seasonal_egg_price", b"common_hatch_ms", b"rare_hatch_ms", b"seasonal_hatch_ms", b"slot2_price", b"slot3_price"];
|
|
292
|
+
let value_tuple = encode(common_egg_price, rare_egg_price, seasonal_egg_price, common_hatch_ms, rare_hatch_ms, seasonal_hatch_ms, slot2_price, slot3_price);
|
|
293
|
+
dapp_system::set_global_record<DappKey>(dapp_key::new(), dapp_storage, key_tuple, field_names, value_tuple, OFFCHAIN);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
public fun get_struct(dapp_storage: &DappStorage): PetConfig {
|
|
297
|
+
let mut key_tuple = vector::empty();
|
|
298
|
+
key_tuple.push_back(TABLE_NAME);
|
|
299
|
+
let common_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"common_egg_price");
|
|
300
|
+
let mut common_egg_price_bcs = sui::bcs::new(common_egg_price_raw);
|
|
301
|
+
let common_egg_price = sui::bcs::peel_u64(&mut common_egg_price_bcs);
|
|
302
|
+
let rare_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"rare_egg_price");
|
|
303
|
+
let mut rare_egg_price_bcs = sui::bcs::new(rare_egg_price_raw);
|
|
304
|
+
let rare_egg_price = sui::bcs::peel_u64(&mut rare_egg_price_bcs);
|
|
305
|
+
let seasonal_egg_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"seasonal_egg_price");
|
|
306
|
+
let mut seasonal_egg_price_bcs = sui::bcs::new(seasonal_egg_price_raw);
|
|
307
|
+
let seasonal_egg_price = sui::bcs::peel_u64(&mut seasonal_egg_price_bcs);
|
|
308
|
+
let common_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"common_hatch_ms");
|
|
309
|
+
let mut common_hatch_ms_bcs = sui::bcs::new(common_hatch_ms_raw);
|
|
310
|
+
let common_hatch_ms = sui::bcs::peel_u64(&mut common_hatch_ms_bcs);
|
|
311
|
+
let rare_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"rare_hatch_ms");
|
|
312
|
+
let mut rare_hatch_ms_bcs = sui::bcs::new(rare_hatch_ms_raw);
|
|
313
|
+
let rare_hatch_ms = sui::bcs::peel_u64(&mut rare_hatch_ms_bcs);
|
|
314
|
+
let seasonal_hatch_ms_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"seasonal_hatch_ms");
|
|
315
|
+
let mut seasonal_hatch_ms_bcs = sui::bcs::new(seasonal_hatch_ms_raw);
|
|
316
|
+
let seasonal_hatch_ms = sui::bcs::peel_u64(&mut seasonal_hatch_ms_bcs);
|
|
317
|
+
let slot2_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"slot2_price");
|
|
318
|
+
let mut slot2_price_bcs = sui::bcs::new(slot2_price_raw);
|
|
319
|
+
let slot2_price = sui::bcs::peel_u64(&mut slot2_price_bcs);
|
|
320
|
+
let slot3_price_raw = dapp_system::get_global_field<DappKey>(dapp_storage, key_tuple, b"slot3_price");
|
|
321
|
+
let mut slot3_price_bcs = sui::bcs::new(slot3_price_raw);
|
|
322
|
+
let slot3_price = sui::bcs::peel_u64(&mut slot3_price_bcs);
|
|
323
|
+
PetConfig { common_egg_price, rare_egg_price, seasonal_egg_price, common_hatch_ms, rare_hatch_ms, seasonal_hatch_ms, slot2_price, slot3_price }
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
public(package) fun set_struct(dapp_storage: &mut DappStorage, pet_config: PetConfig) {
|
|
327
|
+
let mut key_tuple = vector::empty();
|
|
328
|
+
key_tuple.push_back(TABLE_NAME);
|
|
329
|
+
let field_names = vector[b"common_egg_price", b"rare_egg_price", b"seasonal_egg_price", b"common_hatch_ms", b"rare_hatch_ms", b"seasonal_hatch_ms", b"slot2_price", b"slot3_price"];
|
|
330
|
+
let value_tuple = encode_struct(pet_config);
|
|
331
|
+
dapp_system::set_global_record<DappKey>(dapp_key::new(), dapp_storage, key_tuple, field_names, value_tuple, OFFCHAIN);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
public fun encode(common_egg_price: u64, rare_egg_price: u64, seasonal_egg_price: u64, common_hatch_ms: u64, rare_hatch_ms: u64, seasonal_hatch_ms: u64, slot2_price: u64, slot3_price: u64): vector<vector<u8>> {
|
|
335
|
+
let mut value_tuple = vector::empty();
|
|
336
|
+
value_tuple.push_back(to_bytes(&common_egg_price));
|
|
337
|
+
value_tuple.push_back(to_bytes(&rare_egg_price));
|
|
338
|
+
value_tuple.push_back(to_bytes(&seasonal_egg_price));
|
|
339
|
+
value_tuple.push_back(to_bytes(&common_hatch_ms));
|
|
340
|
+
value_tuple.push_back(to_bytes(&rare_hatch_ms));
|
|
341
|
+
value_tuple.push_back(to_bytes(&seasonal_hatch_ms));
|
|
342
|
+
value_tuple.push_back(to_bytes(&slot2_price));
|
|
343
|
+
value_tuple.push_back(to_bytes(&slot3_price));
|
|
344
|
+
value_tuple
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
public fun encode_struct(pet_config: PetConfig): vector<vector<u8>> {
|
|
348
|
+
encode(pet_config.common_egg_price, pet_config.rare_egg_price, pet_config.seasonal_egg_price, pet_config.common_hatch_ms, pet_config.rare_hatch_ms, pet_config.seasonal_hatch_ms, pet_config.slot2_price, pet_config.slot3_price)
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
public fun decode(data: vector<u8>): PetConfig {
|
|
352
|
+
let mut bcs_type = sui::bcs::new(data);
|
|
353
|
+
let common_egg_price = sui::bcs::peel_u64(&mut bcs_type);
|
|
354
|
+
let rare_egg_price = sui::bcs::peel_u64(&mut bcs_type);
|
|
355
|
+
let seasonal_egg_price = sui::bcs::peel_u64(&mut bcs_type);
|
|
356
|
+
let common_hatch_ms = sui::bcs::peel_u64(&mut bcs_type);
|
|
357
|
+
let rare_hatch_ms = sui::bcs::peel_u64(&mut bcs_type);
|
|
358
|
+
let seasonal_hatch_ms = sui::bcs::peel_u64(&mut bcs_type);
|
|
359
|
+
let slot2_price = sui::bcs::peel_u64(&mut bcs_type);
|
|
360
|
+
let slot3_price = sui::bcs::peel_u64(&mut bcs_type);
|
|
361
|
+
PetConfig {
|
|
362
|
+
common_egg_price,
|
|
363
|
+
rare_egg_price,
|
|
364
|
+
seasonal_egg_price,
|
|
365
|
+
common_hatch_ms,
|
|
366
|
+
rare_hatch_ms,
|
|
367
|
+
seasonal_hatch_ms,
|
|
368
|
+
slot2_price,
|
|
369
|
+
slot3_price,
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
|
5
|
+
|
|
6
|
+
module harvest::pet_hatch {
|
|
7
|
+
use sui::bcs::{to_bytes};
|
|
8
|
+
use dubhe::dapp_service::UserStorage;
|
|
9
|
+
use dubhe::dapp_system;
|
|
10
|
+
use harvest::dapp_key;
|
|
11
|
+
use harvest::dapp_key::DappKey;
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
const TABLE_NAME: vector<u8> = b"pet_hatch";
|
|
15
|
+
const OFFCHAIN: bool = false;
|
|
16
|
+
|
|
17
|
+
public struct PetHatch has copy, drop, store {
|
|
18
|
+
egg_type: u8,
|
|
19
|
+
hatch_at: u64,
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public fun new(egg_type: u8, hatch_at: u64): PetHatch {
|
|
23
|
+
PetHatch {
|
|
24
|
+
egg_type,
|
|
25
|
+
hatch_at,
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public fun egg_type(self: &PetHatch): u8 {
|
|
30
|
+
self.egg_type
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public fun hatch_at(self: &PetHatch): u64 {
|
|
34
|
+
self.hatch_at
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public fun update_egg_type(self: &mut PetHatch, egg_type: u8) {
|
|
38
|
+
self.egg_type = egg_type
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public fun update_hatch_at(self: &mut PetHatch, hatch_at: u64) {
|
|
42
|
+
self.hatch_at = hatch_at
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public fun has(user_storage: &UserStorage): bool {
|
|
46
|
+
let mut key_tuple = vector::empty();
|
|
47
|
+
key_tuple.push_back(TABLE_NAME);
|
|
48
|
+
dapp_system::has_record<DappKey>(user_storage, key_tuple)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public fun ensure_has(user_storage: &UserStorage) {
|
|
52
|
+
let mut key_tuple = vector::empty();
|
|
53
|
+
key_tuple.push_back(TABLE_NAME);
|
|
54
|
+
dapp_system::ensure_has_record<DappKey>(user_storage, key_tuple)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public fun ensure_has_not(user_storage: &UserStorage) {
|
|
58
|
+
let mut key_tuple = vector::empty();
|
|
59
|
+
key_tuple.push_back(TABLE_NAME);
|
|
60
|
+
dapp_system::ensure_has_not_record<DappKey>(user_storage, key_tuple)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
public(package) fun delete(user_storage: &mut UserStorage, ctx: &TxContext) {
|
|
65
|
+
let mut key_tuple = vector::empty();
|
|
66
|
+
key_tuple.push_back(TABLE_NAME);
|
|
67
|
+
dapp_system::delete_record<DappKey>(dapp_key::new(), user_storage, key_tuple, vector[b"egg_type", b"hatch_at"], ctx);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public fun get_egg_type(user_storage: &UserStorage): u8 {
|
|
71
|
+
let mut key_tuple = vector::empty();
|
|
72
|
+
key_tuple.push_back(TABLE_NAME);
|
|
73
|
+
let egg_type_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"egg_type");
|
|
74
|
+
let mut egg_type_bcs = sui::bcs::new(egg_type_raw);
|
|
75
|
+
let egg_type = sui::bcs::peel_u8(&mut egg_type_bcs);
|
|
76
|
+
egg_type
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public(package) fun set_egg_type(user_storage: &mut UserStorage, egg_type: u8, ctx: &mut TxContext) {
|
|
80
|
+
let mut key_tuple = vector::empty();
|
|
81
|
+
key_tuple.push_back(TABLE_NAME);
|
|
82
|
+
let value = to_bytes(&egg_type);
|
|
83
|
+
dapp_system::set_field<DappKey>(dapp_key::new(), user_storage, key_tuple, b"egg_type", value, ctx);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
public fun get_hatch_at(user_storage: &UserStorage): u64 {
|
|
87
|
+
let mut key_tuple = vector::empty();
|
|
88
|
+
key_tuple.push_back(TABLE_NAME);
|
|
89
|
+
let hatch_at_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"hatch_at");
|
|
90
|
+
let mut hatch_at_bcs = sui::bcs::new(hatch_at_raw);
|
|
91
|
+
let hatch_at = sui::bcs::peel_u64(&mut hatch_at_bcs);
|
|
92
|
+
hatch_at
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
public(package) fun set_hatch_at(user_storage: &mut UserStorage, hatch_at: u64, ctx: &mut TxContext) {
|
|
96
|
+
let mut key_tuple = vector::empty();
|
|
97
|
+
key_tuple.push_back(TABLE_NAME);
|
|
98
|
+
let value = to_bytes(&hatch_at);
|
|
99
|
+
dapp_system::set_field<DappKey>(dapp_key::new(), user_storage, key_tuple, b"hatch_at", value, ctx);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
public fun get(user_storage: &UserStorage): (u8, u64) {
|
|
103
|
+
let mut key_tuple = vector::empty();
|
|
104
|
+
key_tuple.push_back(TABLE_NAME);
|
|
105
|
+
let egg_type_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"egg_type");
|
|
106
|
+
let mut egg_type_bcs = sui::bcs::new(egg_type_raw);
|
|
107
|
+
let egg_type = sui::bcs::peel_u8(&mut egg_type_bcs);
|
|
108
|
+
let hatch_at_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"hatch_at");
|
|
109
|
+
let mut hatch_at_bcs = sui::bcs::new(hatch_at_raw);
|
|
110
|
+
let hatch_at = sui::bcs::peel_u64(&mut hatch_at_bcs);
|
|
111
|
+
(egg_type, hatch_at)
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
public(package) fun set(user_storage: &mut UserStorage, egg_type: u8, hatch_at: u64, ctx: &mut TxContext) {
|
|
115
|
+
let mut key_tuple = vector::empty();
|
|
116
|
+
key_tuple.push_back(TABLE_NAME);
|
|
117
|
+
let field_names = vector[b"egg_type", b"hatch_at"];
|
|
118
|
+
let value_tuple = encode(egg_type, hatch_at);
|
|
119
|
+
dapp_system::set_record<DappKey>(dapp_key::new(), user_storage, key_tuple, field_names, value_tuple, OFFCHAIN, ctx);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
public fun get_struct(user_storage: &UserStorage): PetHatch {
|
|
123
|
+
let mut key_tuple = vector::empty();
|
|
124
|
+
key_tuple.push_back(TABLE_NAME);
|
|
125
|
+
let egg_type_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"egg_type");
|
|
126
|
+
let mut egg_type_bcs = sui::bcs::new(egg_type_raw);
|
|
127
|
+
let egg_type = sui::bcs::peel_u8(&mut egg_type_bcs);
|
|
128
|
+
let hatch_at_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"hatch_at");
|
|
129
|
+
let mut hatch_at_bcs = sui::bcs::new(hatch_at_raw);
|
|
130
|
+
let hatch_at = sui::bcs::peel_u64(&mut hatch_at_bcs);
|
|
131
|
+
PetHatch { egg_type, hatch_at }
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
public(package) fun set_struct(user_storage: &mut UserStorage, pet_hatch: PetHatch, ctx: &mut TxContext) {
|
|
135
|
+
let mut key_tuple = vector::empty();
|
|
136
|
+
key_tuple.push_back(TABLE_NAME);
|
|
137
|
+
let field_names = vector[b"egg_type", b"hatch_at"];
|
|
138
|
+
let value_tuple = encode_struct(pet_hatch);
|
|
139
|
+
dapp_system::set_record<DappKey>(dapp_key::new(), user_storage, key_tuple, field_names, value_tuple, OFFCHAIN, ctx);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
public fun encode(egg_type: u8, hatch_at: u64): vector<vector<u8>> {
|
|
143
|
+
let mut value_tuple = vector::empty();
|
|
144
|
+
value_tuple.push_back(to_bytes(&egg_type));
|
|
145
|
+
value_tuple.push_back(to_bytes(&hatch_at));
|
|
146
|
+
value_tuple
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
public fun encode_struct(pet_hatch: PetHatch): vector<vector<u8>> {
|
|
150
|
+
encode(pet_hatch.egg_type, pet_hatch.hatch_at)
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public fun decode(data: vector<u8>): PetHatch {
|
|
154
|
+
let mut bcs_type = sui::bcs::new(data);
|
|
155
|
+
let egg_type = sui::bcs::peel_u8(&mut bcs_type);
|
|
156
|
+
let hatch_at = sui::bcs::peel_u64(&mut bcs_type);
|
|
157
|
+
PetHatch {
|
|
158
|
+
egg_type,
|
|
159
|
+
hatch_at,
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
|
5
|
+
|
|
6
|
+
module harvest::pet_slot_index {
|
|
7
|
+
use sui::bcs::{to_bytes};
|
|
8
|
+
use dubhe::dapp_service::UserStorage;
|
|
9
|
+
use dubhe::dapp_system;
|
|
10
|
+
use harvest::dapp_key;
|
|
11
|
+
use harvest::dapp_key::DappKey;
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
const TABLE_NAME: vector<u8> = b"pet_slot_index";
|
|
15
|
+
const OFFCHAIN: bool = false;
|
|
16
|
+
|
|
17
|
+
public fun has(user_storage: &UserStorage, slot: u8): bool {
|
|
18
|
+
let mut key_tuple = vector::empty();
|
|
19
|
+
key_tuple.push_back(TABLE_NAME);
|
|
20
|
+
key_tuple.push_back(to_bytes(&slot));
|
|
21
|
+
dapp_system::has_record<DappKey>(user_storage, key_tuple)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public fun ensure_has(user_storage: &UserStorage, slot: u8) {
|
|
25
|
+
let mut key_tuple = vector::empty();
|
|
26
|
+
key_tuple.push_back(TABLE_NAME);
|
|
27
|
+
key_tuple.push_back(to_bytes(&slot));
|
|
28
|
+
dapp_system::ensure_has_record<DappKey>(user_storage, key_tuple)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public fun ensure_has_not(user_storage: &UserStorage, slot: u8) {
|
|
32
|
+
let mut key_tuple = vector::empty();
|
|
33
|
+
key_tuple.push_back(TABLE_NAME);
|
|
34
|
+
key_tuple.push_back(to_bytes(&slot));
|
|
35
|
+
dapp_system::ensure_has_not_record<DappKey>(user_storage, key_tuple)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
public(package) fun delete(user_storage: &mut UserStorage, slot: u8, ctx: &TxContext) {
|
|
40
|
+
let mut key_tuple = vector::empty();
|
|
41
|
+
key_tuple.push_back(TABLE_NAME);
|
|
42
|
+
key_tuple.push_back(to_bytes(&slot));
|
|
43
|
+
dapp_system::delete_record<DappKey>(dapp_key::new(), user_storage, key_tuple, vector[b"pet_id"], ctx);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public fun get(user_storage: &UserStorage, slot: u8): address {
|
|
47
|
+
let mut key_tuple = vector::empty();
|
|
48
|
+
key_tuple.push_back(TABLE_NAME);
|
|
49
|
+
key_tuple.push_back(to_bytes(&slot));
|
|
50
|
+
let pet_id_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"pet_id");
|
|
51
|
+
let mut pet_id_bcs = sui::bcs::new(pet_id_raw);
|
|
52
|
+
let value = sui::bcs::peel_address(&mut pet_id_bcs);
|
|
53
|
+
value
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public(package) fun set(user_storage: &mut UserStorage, slot: u8, value: address, ctx: &mut TxContext) {
|
|
57
|
+
let mut key_tuple = vector::empty();
|
|
58
|
+
key_tuple.push_back(TABLE_NAME);
|
|
59
|
+
key_tuple.push_back(to_bytes(&slot));
|
|
60
|
+
let field_names = vector[b"pet_id"];
|
|
61
|
+
let value_tuple = encode(value);
|
|
62
|
+
dapp_system::set_record<DappKey>(dapp_key::new(), user_storage, key_tuple, field_names, value_tuple, OFFCHAIN, ctx);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public fun encode(value: address): vector<vector<u8>> {
|
|
66
|
+
let mut value_tuple = vector::empty();
|
|
67
|
+
value_tuple.push_back(to_bytes(&value));
|
|
68
|
+
value_tuple
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
// ─── keys: mint (developer provides keys; framework ensures no duplicate) ─
|
|
73
|
+
// Choosing the ID strategy (fresh address, counter, coordinate pack, etc.)
|
|
74
|
+
// is intentionally left to the caller.
|
|
75
|
+
public(package) fun mint(
|
|
76
|
+
user_storage: &mut UserStorage,
|
|
77
|
+
slot: u8, pet_id: address,
|
|
78
|
+
ctx: &mut TxContext,
|
|
79
|
+
) {
|
|
80
|
+
ensure_has_not(user_storage, slot);
|
|
81
|
+
set(user_storage, slot, pet_id, ctx);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
|
5
|
+
|
|
6
|
+
module harvest::pet_slots {
|
|
7
|
+
use sui::bcs::{to_bytes};
|
|
8
|
+
use dubhe::dapp_service::UserStorage;
|
|
9
|
+
use dubhe::dapp_system;
|
|
10
|
+
use harvest::dapp_key;
|
|
11
|
+
use harvest::dapp_key::DappKey;
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
const TABLE_NAME: vector<u8> = b"pet_slots";
|
|
15
|
+
const OFFCHAIN: bool = false;
|
|
16
|
+
|
|
17
|
+
public fun has(user_storage: &UserStorage): bool {
|
|
18
|
+
let mut key_tuple = vector::empty();
|
|
19
|
+
key_tuple.push_back(TABLE_NAME);
|
|
20
|
+
dapp_system::has_record<DappKey>(user_storage, key_tuple)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public fun ensure_has(user_storage: &UserStorage) {
|
|
24
|
+
let mut key_tuple = vector::empty();
|
|
25
|
+
key_tuple.push_back(TABLE_NAME);
|
|
26
|
+
dapp_system::ensure_has_record<DappKey>(user_storage, key_tuple)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public fun ensure_has_not(user_storage: &UserStorage) {
|
|
30
|
+
let mut key_tuple = vector::empty();
|
|
31
|
+
key_tuple.push_back(TABLE_NAME);
|
|
32
|
+
dapp_system::ensure_has_not_record<DappKey>(user_storage, key_tuple)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
public(package) fun delete(user_storage: &mut UserStorage, ctx: &TxContext) {
|
|
37
|
+
let mut key_tuple = vector::empty();
|
|
38
|
+
key_tuple.push_back(TABLE_NAME);
|
|
39
|
+
dapp_system::delete_record<DappKey>(dapp_key::new(), user_storage, key_tuple, vector[b"slots_owned"], ctx);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public fun get(user_storage: &UserStorage): u8 {
|
|
43
|
+
let mut key_tuple = vector::empty();
|
|
44
|
+
key_tuple.push_back(TABLE_NAME);
|
|
45
|
+
let slots_owned_raw = dapp_system::get_field<DappKey>(user_storage, key_tuple, b"slots_owned");
|
|
46
|
+
let mut slots_owned_bcs = sui::bcs::new(slots_owned_raw);
|
|
47
|
+
let value = sui::bcs::peel_u8(&mut slots_owned_bcs);
|
|
48
|
+
value
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public(package) fun set(user_storage: &mut UserStorage, value: u8, ctx: &mut TxContext) {
|
|
52
|
+
let mut key_tuple = vector::empty();
|
|
53
|
+
key_tuple.push_back(TABLE_NAME);
|
|
54
|
+
let field_names = vector[b"slots_owned"];
|
|
55
|
+
let value_tuple = encode(value);
|
|
56
|
+
dapp_system::set_record<DappKey>(dapp_key::new(), user_storage, key_tuple, field_names, value_tuple, OFFCHAIN, ctx);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public fun encode(value: u8): vector<vector<u8>> {
|
|
60
|
+
let mut value_tuple = vector::empty();
|
|
61
|
+
value_tuple.push_back(to_bytes(&value));
|
|
62
|
+
value_tuple
|
|
63
|
+
}
|
|
64
|
+
}
|