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,160 @@
|
|
|
1
|
+
/// Unit tests — UserStorage creation and registration
|
|
2
|
+
///
|
|
3
|
+
/// Covers:
|
|
4
|
+
/// create_user_storage: initial state, registration recorded, duplicate abort
|
|
5
|
+
/// canonical_owner is set correctly on creation
|
|
6
|
+
/// session fields initialized to zero/empty
|
|
7
|
+
#[test_only]
|
|
8
|
+
module dubhe::user_storage_test;
|
|
9
|
+
|
|
10
|
+
use dubhe::dapp_service::{Self, DappHub, DappStorage};
|
|
11
|
+
use dubhe::dapp_system;
|
|
12
|
+
use sui::test_scenario;
|
|
13
|
+
|
|
14
|
+
public struct UsTestKey has copy, drop {}
|
|
15
|
+
|
|
16
|
+
const USER: address = @0x1234;
|
|
17
|
+
|
|
18
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
19
|
+
|
|
20
|
+
fun setup(scenario: &mut test_scenario::Scenario): (DappHub, DappStorage) {
|
|
21
|
+
let ctx = test_scenario::ctx(scenario);
|
|
22
|
+
(
|
|
23
|
+
dapp_system::create_dapp_hub_for_testing(ctx),
|
|
24
|
+
dapp_system::create_dapp_storage_for_testing<UsTestKey>(ctx),
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
29
|
+
// Initial state
|
|
30
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
31
|
+
|
|
32
|
+
#[test]
|
|
33
|
+
fun test_initial_write_counts_are_zero() {
|
|
34
|
+
let mut scenario = test_scenario::begin(USER);
|
|
35
|
+
{
|
|
36
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
37
|
+
let us = dapp_service::create_user_storage_for_testing<UsTestKey>(USER, ctx);
|
|
38
|
+
|
|
39
|
+
assert!(dapp_service::write_count(&us) == 0);
|
|
40
|
+
assert!(dapp_service::settled_count(&us) == 0);
|
|
41
|
+
assert!(dapp_service::unsettled_count(&us) == 0);
|
|
42
|
+
|
|
43
|
+
dapp_service::destroy_user_storage(us);
|
|
44
|
+
};
|
|
45
|
+
scenario.end();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#[test]
|
|
49
|
+
fun test_canonical_owner_set_on_creation() {
|
|
50
|
+
let mut scenario = test_scenario::begin(USER);
|
|
51
|
+
{
|
|
52
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
53
|
+
let us = dapp_service::create_user_storage_for_testing<UsTestKey>(USER, ctx);
|
|
54
|
+
assert!(dapp_service::canonical_owner(&us) == USER);
|
|
55
|
+
dapp_service::destroy_user_storage(us);
|
|
56
|
+
};
|
|
57
|
+
scenario.end();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
#[test]
|
|
61
|
+
fun test_session_fields_cleared_on_creation() {
|
|
62
|
+
let mut scenario = test_scenario::begin(USER);
|
|
63
|
+
{
|
|
64
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
65
|
+
let us = dapp_service::create_user_storage_for_testing<UsTestKey>(USER, ctx);
|
|
66
|
+
assert!(dapp_service::session_key(&us) == @0x0);
|
|
67
|
+
assert!(dapp_service::session_expires_at(&us) == 0);
|
|
68
|
+
dapp_service::destroy_user_storage(us);
|
|
69
|
+
};
|
|
70
|
+
scenario.end();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
74
|
+
// create_user_storage (via dapp_system) — registration guard
|
|
75
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
76
|
+
|
|
77
|
+
#[test]
|
|
78
|
+
fun test_create_user_storage_registers_address() {
|
|
79
|
+
let sender = @0xABC;
|
|
80
|
+
let mut scenario = test_scenario::begin(sender);
|
|
81
|
+
{
|
|
82
|
+
let (dh, mut ds) = setup(&mut scenario);
|
|
83
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
84
|
+
|
|
85
|
+
assert!(!dapp_service::has_registered_user_storage(&ds, sender));
|
|
86
|
+
dapp_system::create_user_storage(UsTestKey {}, &dh, &mut ds, ctx);
|
|
87
|
+
assert!(dapp_service::has_registered_user_storage(&ds, sender));
|
|
88
|
+
|
|
89
|
+
dapp_system::destroy_dapp_hub(dh);
|
|
90
|
+
dapp_system::destroy_dapp_storage(ds);
|
|
91
|
+
};
|
|
92
|
+
scenario.end();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#[test]
|
|
96
|
+
#[expected_failure]
|
|
97
|
+
fun test_create_user_storage_twice_aborts() {
|
|
98
|
+
let sender = @0xABC;
|
|
99
|
+
let mut scenario = test_scenario::begin(sender);
|
|
100
|
+
{
|
|
101
|
+
let (dh, mut ds) = setup(&mut scenario);
|
|
102
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
103
|
+
|
|
104
|
+
dapp_system::create_user_storage(UsTestKey {}, &dh, &mut ds, ctx);
|
|
105
|
+
// Second call from the same address must abort with user_storage_already_exists.
|
|
106
|
+
dapp_system::create_user_storage(UsTestKey {}, &dh, &mut ds, ctx);
|
|
107
|
+
|
|
108
|
+
dapp_system::destroy_dapp_hub(dh);
|
|
109
|
+
dapp_system::destroy_dapp_storage(ds);
|
|
110
|
+
};
|
|
111
|
+
scenario.end();
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#[test]
|
|
115
|
+
fun test_different_users_can_each_create_one_user_storage() {
|
|
116
|
+
let user_a = @0xAAAA;
|
|
117
|
+
let user_b = @0xBBBB;
|
|
118
|
+
|
|
119
|
+
let mut scenario = test_scenario::begin(user_a);
|
|
120
|
+
{
|
|
121
|
+
let (dh, mut ds) = setup(&mut scenario);
|
|
122
|
+
|
|
123
|
+
// user_a creates their storage.
|
|
124
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
125
|
+
dapp_system::create_user_storage(UsTestKey {}, &dh, &mut ds, ctx);
|
|
126
|
+
assert!(dapp_service::has_registered_user_storage(&ds, user_a));
|
|
127
|
+
|
|
128
|
+
// user_b creates theirs in a new tx.
|
|
129
|
+
test_scenario::next_tx(&mut scenario, user_b);
|
|
130
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
131
|
+
dapp_system::create_user_storage(UsTestKey {}, &dh, &mut ds, ctx);
|
|
132
|
+
assert!(dapp_service::has_registered_user_storage(&ds, user_b));
|
|
133
|
+
|
|
134
|
+
dapp_system::destroy_dapp_hub(dh);
|
|
135
|
+
dapp_system::destroy_dapp_storage(ds);
|
|
136
|
+
};
|
|
137
|
+
scenario.end();
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
141
|
+
// Suspended DApp guard
|
|
142
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
143
|
+
|
|
144
|
+
#[test]
|
|
145
|
+
fun test_create_user_storage_succeeds_after_registration_check() {
|
|
146
|
+
let sender = @0xABC;
|
|
147
|
+
let mut scenario = test_scenario::begin(sender);
|
|
148
|
+
{
|
|
149
|
+
let (dh, mut ds) = setup(&mut scenario);
|
|
150
|
+
let ctx = test_scenario::ctx(&mut scenario);
|
|
151
|
+
|
|
152
|
+
// Must succeed.
|
|
153
|
+
dapp_system::create_user_storage(UsTestKey {}, &dh, &mut ds, ctx);
|
|
154
|
+
assert!(dapp_service::has_registered_user_storage(&ds, sender));
|
|
155
|
+
|
|
156
|
+
dapp_system::destroy_dapp_hub(dh);
|
|
157
|
+
dapp_system::destroy_dapp_storage(ds);
|
|
158
|
+
};
|
|
159
|
+
scenario.end();
|
|
160
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module dubhe::dubhe_math {
|
|
2
2
|
use std::u128;
|
|
3
3
|
use std::u64;
|
|
4
|
+
use dubhe::error;
|
|
4
5
|
|
|
5
6
|
public fun min(x: u256, y: u256): u256 {
|
|
6
7
|
if (x < y) x else y
|
|
@@ -9,12 +10,12 @@ module dubhe::dubhe_math {
|
|
|
9
10
|
public fun safe_mul(a: u256, b: u256): u256 {
|
|
10
11
|
if (a == 0 || b == 0) return 0;
|
|
11
12
|
let c = a * b;
|
|
12
|
-
|
|
13
|
+
error::math_overflow(c / a == b);
|
|
13
14
|
c
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
public fun safe_div(a: u256, b: u256): u256 {
|
|
17
|
-
|
|
18
|
+
error::division_by_zero(b != 0);
|
|
18
19
|
a / b
|
|
19
20
|
}
|
|
20
21
|
|
|
@@ -108,7 +109,7 @@ module dubhe::dubhe_math {
|
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
public(package) fun windows(x: &vector<u256>, size: u64): vector<vector<u256>> {
|
|
111
|
-
|
|
112
|
+
error::invalid_window_size(size > 0);
|
|
112
113
|
|
|
113
114
|
let length = vector::length(x);
|
|
114
115
|
let mut result = vector::empty<vector<u256>>();
|
package/templates/nextjs/sui-template/packages/contracts/src/dubhe/sources/utils/type_info.move
CHANGED
|
@@ -29,11 +29,11 @@ module dubhe::type_info {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
public fun get_package_id<T>(): address {
|
|
32
|
-
let type_name = type_name::
|
|
32
|
+
let type_name = type_name::with_defining_ids<T>().address_string();
|
|
33
33
|
address::from_ascii_bytes(type_name.as_bytes())
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
public fun get_type_name_string<T>(): String {
|
|
37
|
-
type_name::
|
|
37
|
+
type_name::with_defining_ids<T>().into_string()
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Generated by move; do not edit
|
|
2
|
-
# This file should be checked in.
|
|
3
|
-
|
|
4
|
-
[move]
|
|
5
|
-
version = 4
|
|
6
|
-
|
|
7
|
-
[pinned.testnet.Dubhe]
|
|
8
|
-
source = { local = "../dubhe" }
|
|
9
|
-
use_environment = "testnet"
|
|
10
|
-
manifest_digest = "21C4ACDE8D1A1E22F33EBBF539FC94BA72EC8B363E3A9B495D51C157AAB5189C"
|
|
11
|
-
deps = { Sui = "Sui_1" }
|
|
12
|
-
|
|
13
|
-
[pinned.testnet.MoveStdlib]
|
|
14
|
-
source = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/move-stdlib", rev = "655576caa3d7faaed39ebbc15d1bcc91d0761aee" }
|
|
15
|
-
use_environment = "testnet"
|
|
16
|
-
manifest_digest = "C4FE4C91DE74CBF223B2E380AE40F592177D21870DC2D7EB6227D2D694E05363"
|
|
17
|
-
deps = {}
|
|
18
|
-
|
|
19
|
-
[pinned.testnet.MoveStdlib_1]
|
|
20
|
-
source = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/move-stdlib", rev = "ff441e0d66d6cd56c4527db1b6e6e38335e805ce" }
|
|
21
|
-
use_environment = "testnet"
|
|
22
|
-
manifest_digest = "C4FE4C91DE74CBF223B2E380AE40F592177D21870DC2D7EB6227D2D694E05363"
|
|
23
|
-
deps = {}
|
|
24
|
-
|
|
25
|
-
[pinned.testnet.Sui]
|
|
26
|
-
source = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "655576caa3d7faaed39ebbc15d1bcc91d0761aee" }
|
|
27
|
-
use_environment = "testnet"
|
|
28
|
-
manifest_digest = "7AFB66695545775FBFBB2D3078ADFD084244D5002392E837FDE21D9EA1C6D01C"
|
|
29
|
-
deps = { MoveStdlib = "MoveStdlib" }
|
|
30
|
-
|
|
31
|
-
[pinned.testnet.Sui_1]
|
|
32
|
-
source = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "ff441e0d66d6cd56c4527db1b6e6e38335e805ce" }
|
|
33
|
-
use_environment = "testnet"
|
|
34
|
-
manifest_digest = "7AFB66695545775FBFBB2D3078ADFD084244D5002392E837FDE21D9EA1C6D01C"
|
|
35
|
-
deps = { MoveStdlib = "MoveStdlib_1" }
|
|
36
|
-
|
|
37
|
-
[pinned.testnet.counter]
|
|
38
|
-
source = { root = true }
|
|
39
|
-
use_environment = "testnet"
|
|
40
|
-
manifest_digest = "2D4D3310758A71D313468A1B290F249B20F4102A935C19C448A4997325E498D1"
|
|
41
|
-
deps = { Dubhe = "Dubhe", std = "MoveStdlib", sui = "Sui" }
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Generated by Move
|
|
2
|
-
# This file contains metadata about published versions of this package in different environments
|
|
3
|
-
# This file SHOULD be committed to source control
|
|
4
|
-
|
|
5
|
-
[published.localnet]
|
|
6
|
-
chain-id = "0e1d263b"
|
|
7
|
-
published-at = "0x5b6be663374918fc768ceb703a075b7199456a86f3962f4229f7e5e3d749d284"
|
|
8
|
-
original-id = "0x5b6be663374918fc768ceb703a075b7199456a86f3962f4229f7e5e3d749d284"
|
|
9
|
-
version = 1
|
package/templates/101/sui-template/packages/contracts/src/counter/sources/codegen/errors.move
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
#[allow(unused_use)]
|
|
4
|
-
|
|
5
|
-
/* Autogenerated file. Do not edit manually. */
|
|
6
|
-
|
|
7
|
-
module counter::errors {
|
|
8
|
-
#[error]
|
|
9
|
-
const INVALID_INCREMENT: vector<u8> = b"Number can't be incremented, must be more than 0";
|
|
10
|
-
public fun invalid_increment_error(condition: bool) { assert!(condition, INVALID_INCREMENT) }
|
|
11
|
-
|
|
12
|
-
}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
#[allow(unused_use)]
|
|
4
|
-
|
|
5
|
-
/* Autogenerated file. Do not edit manually. */
|
|
6
|
-
|
|
7
|
-
module dubhe::errors {
|
|
8
|
-
#[error]
|
|
9
|
-
const ASSET_NOT_FOUND: vector<u8> = b"Asset not found";
|
|
10
|
-
public fun asset_not_found_error(condition: bool) { assert!(condition, ASSET_NOT_FOUND) }
|
|
11
|
-
|
|
12
|
-
#[error]
|
|
13
|
-
const ASSET_ALREADY_FROZEN: vector<u8> = b"Asset already frozen";
|
|
14
|
-
public fun asset_already_frozen_error(condition: bool) { assert!(condition, ASSET_ALREADY_FROZEN) }
|
|
15
|
-
|
|
16
|
-
#[error]
|
|
17
|
-
const INVALID_SENDER: vector<u8> = b"Invalid sender";
|
|
18
|
-
public fun invalid_sender_error(condition: bool) { assert!(condition, INVALID_SENDER) }
|
|
19
|
-
|
|
20
|
-
#[error]
|
|
21
|
-
const INVALID_RECEIVER: vector<u8> = b"Invalid receiver";
|
|
22
|
-
public fun invalid_receiver_error(condition: bool) { assert!(condition, INVALID_RECEIVER) }
|
|
23
|
-
|
|
24
|
-
#[error]
|
|
25
|
-
const INVALID_METADATA: vector<u8> = b"Invalid metadata";
|
|
26
|
-
public fun invalid_metadata_error(condition: bool) { assert!(condition, INVALID_METADATA) }
|
|
27
|
-
|
|
28
|
-
#[error]
|
|
29
|
-
const ACCOUNT_NOT_FOUND: vector<u8> = b"Account not found";
|
|
30
|
-
public fun account_not_found_error(condition: bool) { assert!(condition, ACCOUNT_NOT_FOUND) }
|
|
31
|
-
|
|
32
|
-
#[error]
|
|
33
|
-
const ACCOUNT_BLOCKED: vector<u8> = b"Account is blocked";
|
|
34
|
-
public fun account_blocked_error(condition: bool) { assert!(condition, ACCOUNT_BLOCKED) }
|
|
35
|
-
|
|
36
|
-
#[error]
|
|
37
|
-
const ACCOUNT_FROZEN: vector<u8> = b"Account is frozen";
|
|
38
|
-
public fun account_frozen_error(condition: bool) { assert!(condition, ACCOUNT_FROZEN) }
|
|
39
|
-
|
|
40
|
-
#[error]
|
|
41
|
-
const BALANCE_TOO_LOW: vector<u8> = b"Balance too low";
|
|
42
|
-
public fun balance_too_low_error(condition: bool) { assert!(condition, BALANCE_TOO_LOW) }
|
|
43
|
-
|
|
44
|
-
#[error]
|
|
45
|
-
const OVERFLOWS: vector<u8> = b"Operation overflows";
|
|
46
|
-
public fun overflows_error(condition: bool) { assert!(condition, OVERFLOWS) }
|
|
47
|
-
|
|
48
|
-
#[error]
|
|
49
|
-
const NO_PERMISSION: vector<u8> = b"No permission";
|
|
50
|
-
public fun no_permission_error(condition: bool) { assert!(condition, NO_PERMISSION) }
|
|
51
|
-
|
|
52
|
-
#[error]
|
|
53
|
-
const NOT_MINTABLE: vector<u8> = b"Asset is not mintable";
|
|
54
|
-
public fun not_mintable_error(condition: bool) { assert!(condition, NOT_MINTABLE) }
|
|
55
|
-
|
|
56
|
-
#[error]
|
|
57
|
-
const NOT_BURNABLE: vector<u8> = b"Asset is not burnable";
|
|
58
|
-
public fun not_burnable_error(condition: bool) { assert!(condition, NOT_BURNABLE) }
|
|
59
|
-
|
|
60
|
-
#[error]
|
|
61
|
-
const NOT_FREEZABLE: vector<u8> = b"Asset is not freezable";
|
|
62
|
-
public fun not_freezable_error(condition: bool) { assert!(condition, NOT_FREEZABLE) }
|
|
63
|
-
|
|
64
|
-
#[error]
|
|
65
|
-
const BELOW_MIN_AMOUNT: vector<u8> = b"Amount is below minimum";
|
|
66
|
-
public fun below_min_amount_error(condition: bool) { assert!(condition, BELOW_MIN_AMOUNT) }
|
|
67
|
-
|
|
68
|
-
#[error]
|
|
69
|
-
const LIQUIDITY_CANNOT_BE_ZERO: vector<u8> = b"Liquidity cannot be 0";
|
|
70
|
-
public fun liquidity_cannot_be_zero_error(condition: bool) { assert!(condition, LIQUIDITY_CANNOT_BE_ZERO) }
|
|
71
|
-
|
|
72
|
-
#[error]
|
|
73
|
-
const MORE_THAN_MAX_SWAP_PATH_LEN: vector<u8> = b"More than Max";
|
|
74
|
-
public fun more_than_max_swap_path_len_error(condition: bool) { assert!(condition, MORE_THAN_MAX_SWAP_PATH_LEN) }
|
|
75
|
-
|
|
76
|
-
#[error]
|
|
77
|
-
const MORE_THAN_RESERVE: vector<u8> = b"More than reserve";
|
|
78
|
-
public fun more_than_reserve_error(condition: bool) { assert!(condition, MORE_THAN_RESERVE) }
|
|
79
|
-
|
|
80
|
-
#[error]
|
|
81
|
-
const SWAP_PATH_TOO_SMALL: vector<u8> = b"Swap path too small";
|
|
82
|
-
public fun swap_path_too_small_error(condition: bool) { assert!(condition, SWAP_PATH_TOO_SMALL) }
|
|
83
|
-
|
|
84
|
-
#[error]
|
|
85
|
-
const RESERVES_CANNOT_BE_ZERO: vector<u8> = b"Reserve cannot be 0";
|
|
86
|
-
public fun reserves_cannot_be_zero_error(condition: bool) { assert!(condition, RESERVES_CANNOT_BE_ZERO) }
|
|
87
|
-
|
|
88
|
-
#[error]
|
|
89
|
-
const AMOUNT_CANNOT_BE_ZERO: vector<u8> = b"Amount cannot be 0";
|
|
90
|
-
public fun amount_cannot_be_zero_error(condition: bool) { assert!(condition, AMOUNT_CANNOT_BE_ZERO) }
|
|
91
|
-
|
|
92
|
-
#[error]
|
|
93
|
-
const LESS_THAN_AMOUNT_OUT_MIN: vector<u8> = b"Less than expected";
|
|
94
|
-
public fun less_than_amount_out_min_error(condition: bool) { assert!(condition, LESS_THAN_AMOUNT_OUT_MIN) }
|
|
95
|
-
|
|
96
|
-
#[error]
|
|
97
|
-
const MORE_THAN_AMOUNT_IN_MAX: vector<u8> = b"More than expected";
|
|
98
|
-
public fun more_than_amount_in_max_error(condition: bool) { assert!(condition, MORE_THAN_AMOUNT_IN_MAX) }
|
|
99
|
-
|
|
100
|
-
#[error]
|
|
101
|
-
const BRIDGE_NOT_OPENED: vector<u8> = b"Bridge is not opened";
|
|
102
|
-
public fun bridge_not_opened_error(condition: bool) { assert!(condition, BRIDGE_NOT_OPENED) }
|
|
103
|
-
|
|
104
|
-
#[error]
|
|
105
|
-
const NOT_LATEST_VERSION: vector<u8> = b"Not latest version";
|
|
106
|
-
public fun not_latest_version_error(condition: bool) { assert!(condition, NOT_LATEST_VERSION) }
|
|
107
|
-
|
|
108
|
-
#[error]
|
|
109
|
-
const DAPP_ALREADY_PAUSED: vector<u8> = b"Dapp already paused";
|
|
110
|
-
public fun dapp_already_paused_error(condition: bool) { assert!(condition, DAPP_ALREADY_PAUSED) }
|
|
111
|
-
|
|
112
|
-
#[error]
|
|
113
|
-
const INVALID_PACKAGE_ID: vector<u8> = b"Invalid package id";
|
|
114
|
-
public fun invalid_package_id_error(condition: bool) { assert!(condition, INVALID_PACKAGE_ID) }
|
|
115
|
-
|
|
116
|
-
#[error]
|
|
117
|
-
const INVALID_VERSION: vector<u8> = b"Invalid version";
|
|
118
|
-
public fun invalid_version_error(condition: bool) { assert!(condition, INVALID_VERSION) }
|
|
119
|
-
|
|
120
|
-
#[error]
|
|
121
|
-
const DAPP_NOT_INITIALIZED: vector<u8> = b"Dapp not initialized";
|
|
122
|
-
public fun dapp_not_initialized_error(condition: bool) { assert!(condition, DAPP_NOT_INITIALIZED) }
|
|
123
|
-
|
|
124
|
-
#[error]
|
|
125
|
-
const DAPP_ALREADY_INITIALIZED: vector<u8> = b"Dapp already initialized";
|
|
126
|
-
public fun dapp_already_initialized_error(condition: bool) { assert!(condition, DAPP_ALREADY_INITIALIZED) }
|
|
127
|
-
|
|
128
|
-
#[error]
|
|
129
|
-
const INSUFFICIENT_CREDIT: vector<u8> = b"Insufficient credit";
|
|
130
|
-
public fun insufficient_credit_error(condition: bool) { assert!(condition, INSUFFICIENT_CREDIT) }
|
|
131
|
-
|
|
132
|
-
#[error]
|
|
133
|
-
const DAPP_NOT_BEEN_DELEGATED: vector<u8> = b"Dapp not been delegated";
|
|
134
|
-
public fun dapp_not_been_delegated_error(condition: bool) { assert!(condition, DAPP_NOT_BEEN_DELEGATED) }
|
|
135
|
-
|
|
136
|
-
#[error]
|
|
137
|
-
const DAPP_ALREADY_DELEGATED: vector<u8> = b"Dapp already delegated";
|
|
138
|
-
public fun dapp_already_delegated_error(condition: bool) { assert!(condition, DAPP_ALREADY_DELEGATED) }
|
|
139
|
-
|
|
140
|
-
}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Obelisk Labs, Inc.
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
#[allow(unused_use)]
|
|
4
|
-
|
|
5
|
-
/* Autogenerated file. Do not edit manually. */
|
|
6
|
-
|
|
7
|
-
module dubhe::dapp_fee_config {
|
|
8
|
-
use sui::bcs::{to_bytes};
|
|
9
|
-
use std::ascii::{string, String, into_bytes};
|
|
10
|
-
use dubhe::table_id;
|
|
11
|
-
use dubhe::dapp_service::{Self, DappHub};
|
|
12
|
-
use dubhe::dapp_system;
|
|
13
|
-
use dubhe::dapp_key;
|
|
14
|
-
use dubhe::dapp_key::DappKey;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const TABLE_NAME: vector<u8> = b"dapp_fee_config";
|
|
18
|
-
const OFFCHAIN: bool = false;
|
|
19
|
-
|
|
20
|
-
public struct DappFeeConfig has copy, drop, store {
|
|
21
|
-
free_credit: u256,
|
|
22
|
-
base_fee: u256,
|
|
23
|
-
byte_fee: u256,
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public fun new(free_credit: u256, base_fee: u256, byte_fee: u256): DappFeeConfig {
|
|
27
|
-
DappFeeConfig {
|
|
28
|
-
free_credit,
|
|
29
|
-
base_fee,
|
|
30
|
-
byte_fee,
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
public fun free_credit(self: &DappFeeConfig): u256 {
|
|
35
|
-
self.free_credit
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
public fun base_fee(self: &DappFeeConfig): u256 {
|
|
39
|
-
self.base_fee
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
public fun byte_fee(self: &DappFeeConfig): u256 {
|
|
43
|
-
self.byte_fee
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
public fun update_free_credit(self: &mut DappFeeConfig, free_credit: u256) {
|
|
47
|
-
self.free_credit = free_credit
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
public fun update_base_fee(self: &mut DappFeeConfig, base_fee: u256) {
|
|
51
|
-
self.base_fee = base_fee
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public fun update_byte_fee(self: &mut DappFeeConfig, byte_fee: u256) {
|
|
55
|
-
self.byte_fee = byte_fee
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
public fun has(dapp_hub: &DappHub): bool {
|
|
59
|
-
let mut key_tuple = vector::empty();
|
|
60
|
-
key_tuple.push_back(TABLE_NAME);
|
|
61
|
-
dapp_service::has_record<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
public fun ensure_has(dapp_hub: &DappHub) {
|
|
65
|
-
let mut key_tuple = vector::empty();
|
|
66
|
-
key_tuple.push_back(TABLE_NAME);
|
|
67
|
-
dapp_service::ensure_has_record<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
public fun ensure_has_not(dapp_hub: &DappHub) {
|
|
71
|
-
let mut key_tuple = vector::empty();
|
|
72
|
-
key_tuple.push_back(TABLE_NAME);
|
|
73
|
-
dapp_service::ensure_has_not_record<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
public(package) fun delete(dapp_hub: &mut DappHub) {
|
|
78
|
-
let mut key_tuple = vector::empty();
|
|
79
|
-
key_tuple.push_back(TABLE_NAME);
|
|
80
|
-
dapp_service::delete_record<DappKey>(dapp_hub, dapp_key::new(), key_tuple, dapp_key::package_id().to_ascii_string());
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
public fun get_free_credit(dapp_hub: &DappHub): u256 {
|
|
84
|
-
let mut key_tuple = vector::empty();
|
|
85
|
-
key_tuple.push_back(TABLE_NAME);
|
|
86
|
-
let value = dapp_service::get_field<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple, 0);
|
|
87
|
-
let mut bsc_type = sui::bcs::new(value);
|
|
88
|
-
let free_credit = sui::bcs::peel_u256(&mut bsc_type);
|
|
89
|
-
free_credit
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
public(package) fun set_free_credit(dapp_hub: &mut DappHub, free_credit: u256) {
|
|
93
|
-
let mut key_tuple = vector::empty();
|
|
94
|
-
key_tuple.push_back(TABLE_NAME);
|
|
95
|
-
let value = to_bytes(&free_credit);
|
|
96
|
-
dapp_service::set_field(dapp_hub, dapp_key::new(), key_tuple, 0, value, dapp_key::package_id().to_ascii_string());
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
public fun get_base_fee(dapp_hub: &DappHub): u256 {
|
|
100
|
-
let mut key_tuple = vector::empty();
|
|
101
|
-
key_tuple.push_back(TABLE_NAME);
|
|
102
|
-
let value = dapp_service::get_field<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple, 1);
|
|
103
|
-
let mut bsc_type = sui::bcs::new(value);
|
|
104
|
-
let base_fee = sui::bcs::peel_u256(&mut bsc_type);
|
|
105
|
-
base_fee
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
public(package) fun set_base_fee(dapp_hub: &mut DappHub, base_fee: u256) {
|
|
109
|
-
let mut key_tuple = vector::empty();
|
|
110
|
-
key_tuple.push_back(TABLE_NAME);
|
|
111
|
-
let value = to_bytes(&base_fee);
|
|
112
|
-
dapp_service::set_field(dapp_hub, dapp_key::new(), key_tuple, 1, value, dapp_key::package_id().to_ascii_string());
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
public fun get_byte_fee(dapp_hub: &DappHub): u256 {
|
|
116
|
-
let mut key_tuple = vector::empty();
|
|
117
|
-
key_tuple.push_back(TABLE_NAME);
|
|
118
|
-
let value = dapp_service::get_field<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple, 2);
|
|
119
|
-
let mut bsc_type = sui::bcs::new(value);
|
|
120
|
-
let byte_fee = sui::bcs::peel_u256(&mut bsc_type);
|
|
121
|
-
byte_fee
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
public(package) fun set_byte_fee(dapp_hub: &mut DappHub, byte_fee: u256) {
|
|
125
|
-
let mut key_tuple = vector::empty();
|
|
126
|
-
key_tuple.push_back(TABLE_NAME);
|
|
127
|
-
let value = to_bytes(&byte_fee);
|
|
128
|
-
dapp_service::set_field(dapp_hub, dapp_key::new(), key_tuple, 2, value, dapp_key::package_id().to_ascii_string());
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
public fun get(dapp_hub: &DappHub): (u256, u256, u256) {
|
|
132
|
-
let mut key_tuple = vector::empty();
|
|
133
|
-
key_tuple.push_back(TABLE_NAME);
|
|
134
|
-
let value_tuple = dapp_service::get_record<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple);
|
|
135
|
-
let mut bsc_type = sui::bcs::new(value_tuple);
|
|
136
|
-
let free_credit = sui::bcs::peel_u256(&mut bsc_type);
|
|
137
|
-
let base_fee = sui::bcs::peel_u256(&mut bsc_type);
|
|
138
|
-
let byte_fee = sui::bcs::peel_u256(&mut bsc_type);
|
|
139
|
-
(free_credit, base_fee, byte_fee)
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
public(package) fun set(dapp_hub: &mut DappHub, free_credit: u256, base_fee: u256, byte_fee: u256, ctx: &mut TxContext) {
|
|
143
|
-
let mut key_tuple = vector::empty();
|
|
144
|
-
key_tuple.push_back(TABLE_NAME);
|
|
145
|
-
let value_tuple = encode(free_credit, base_fee, byte_fee);
|
|
146
|
-
dapp_service::set_record(dapp_hub, dapp_key::new(), key_tuple, value_tuple, dapp_key::package_id().to_ascii_string(), OFFCHAIN, ctx);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
public fun get_struct(dapp_hub: &DappHub): DappFeeConfig {
|
|
150
|
-
let mut key_tuple = vector::empty();
|
|
151
|
-
key_tuple.push_back(TABLE_NAME);
|
|
152
|
-
let value_tuple = dapp_service::get_record<DappKey>(dapp_hub, dapp_key::package_id().to_ascii_string(), key_tuple);
|
|
153
|
-
decode(value_tuple)
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
public(package) fun set_struct(dapp_hub: &mut DappHub, dapp_fee_config: DappFeeConfig, ctx: &mut TxContext) {
|
|
157
|
-
let mut key_tuple = vector::empty();
|
|
158
|
-
key_tuple.push_back(TABLE_NAME);
|
|
159
|
-
let value_tuple = encode_struct(dapp_fee_config);
|
|
160
|
-
dapp_service::set_record(dapp_hub, dapp_key::new(), key_tuple, value_tuple, dapp_key::package_id().to_ascii_string(), OFFCHAIN, ctx);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
public fun encode(free_credit: u256, base_fee: u256, byte_fee: u256): vector<vector<u8>> {
|
|
164
|
-
let mut value_tuple = vector::empty();
|
|
165
|
-
value_tuple.push_back(to_bytes(&free_credit));
|
|
166
|
-
value_tuple.push_back(to_bytes(&base_fee));
|
|
167
|
-
value_tuple.push_back(to_bytes(&byte_fee));
|
|
168
|
-
value_tuple
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
public fun encode_struct(dapp_fee_config: DappFeeConfig): vector<vector<u8>> {
|
|
172
|
-
encode(dapp_fee_config.free_credit, dapp_fee_config.base_fee, dapp_fee_config.byte_fee)
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
public fun decode(data: vector<u8>): DappFeeConfig {
|
|
176
|
-
let mut bsc_type = sui::bcs::new(data);
|
|
177
|
-
let free_credit = sui::bcs::peel_u256(&mut bsc_type);
|
|
178
|
-
let base_fee = sui::bcs::peel_u256(&mut bsc_type);
|
|
179
|
-
let byte_fee = sui::bcs::peel_u256(&mut bsc_type);
|
|
180
|
-
DappFeeConfig {
|
|
181
|
-
free_credit,
|
|
182
|
-
base_fee,
|
|
183
|
-
byte_fee,
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|