[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aptos-search-aptos-examples":3,"mdc-yyz99j-key":35,"related-repo-aptos-search-aptos-examples":2846,"related-org-aptos-search-aptos-examples":2942},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":30,"sourceUrl":33,"mdContent":34},"search-aptos-examples","search Aptos reference implementations","Searches aptos-core and daily-move for reference implementations before writing contracts. Triggers on: 'search examples', 'find example', 'check aptos-core', 'is there an example', 'reference implementation', 'how does aptos implement', 'similar contract', 'daily-move'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"aptos","Aptos Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faptos.png","aptos-labs",[13,17,20],{"name":14,"slug":15,"type":16},"Blockchain","blockchain","tag",{"name":18,"slug":19,"type":16},"Documentation","documentation",{"name":21,"slug":22,"type":16},"Search","search",18,"https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-agent-skills","2026-07-12T08:07:15.382039","MIT",8,[29,15],"agent-skills",{"repoUrl":24,"stars":23,"forks":27,"topics":31,"description":32},[29,15],"AI skills for building secure, modern Aptos dApps — Move contracts, TypeScript SDK, and frontend integration for Claude Code, Cursor, and Copilot.","https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-agent-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fmove\u002Fsearch-aptos-examples","---\nname: search-aptos-examples\ndescription:\n  \"Searches aptos-core and daily-move for reference implementations before writing contracts. Triggers on: 'search\n  examples', 'find example', 'check aptos-core', 'is there an example', 'reference implementation', 'how does aptos\n  implement', 'similar contract', 'daily-move'.\"\nlicense: MIT\nmetadata:\n  author: aptos-labs\n  version: \"1.0\"\n  category: move\n  tags: [\"examples\", \"reference\", \"patterns\", \"aptos-core\", \"daily-move\"]\n  priority: high\n---\n\n# Search Aptos Examples Skill\n\n## Overview\n\nThis skill helps you find relevant examples in official Aptos repositories before writing new contracts. **Always search\nexamples first** to follow established patterns.\n\n**Repositories:**\n\n- **`aptos-labs\u002Faptos-core\u002Faptos-move\u002Fmove-examples\u002F`** — 53+ official Move examples demonstrating best practices\n- **`aptos-labs\u002Fdaily-move\u002Fsnippets\u002F`** — 17 curated educational examples covering design patterns, Move 2 features,\n  composable NFTs, and more\n\n## Core Workflow\n\n### Step 1: Identify What You're Building\n\nCategorize your contract:\n\n- **NFTs\u002FTokens**: NFT collections, digital assets, collectibles\n- **Fungible Assets**: Coins, tokens, currencies\n- **DeFi**: DEXs, AMMs, lending, staking\n- **Governance**: DAOs, voting, proposals\n- **Marketplace**: Trading, escrow, auctions\n- **Gaming**: Items, characters, game logic\n- **Infrastructure**: Registries, configs, utilities\n\n### Step 2: Search Relevant Examples\n\n**Priority Examples by Category:**\n\n#### NFTs & Token Objects\n\n1. **`token_objects\u002F`** - Modern object-based tokens (V2 pattern)\n2. **`mint_nft\u002F`** - NFT minting patterns\n3. **`nft_dao\u002F`** - NFT-gated governance\n4. **`collection_manager\u002F`** - Collection management\n5. **(daily-move) `composable-nfts\u002F`** - NFTs that contain other NFTs\n6. **(daily-move) `modifying-nfts\u002F`** - Mutable NFT metadata patterns\n7. **(daily-move) `parallel-nfts\u002F`** - Concurrent NFT minting\n8. **(daily-move) `liquid-nfts\u002F`** - Fractionalized\u002Fliquid NFTs\n\n**When to use:** Building NFT collections, digital collectibles, tokenized assets\n\n#### Fungible Assets\n\n1. **`fungible_asset\u002F`** - Modern fungible token standard\n2. **`coin\u002F`** - Basic coin implementation\n3. **`managed_fungible_asset\u002F`** - Controlled fungible assets\n4. **(daily-move) `fa-lockup-example\u002F`** - FA lockup and escrow patterns\n5. **(daily-move) `fractional-token\u002F`** - Fractional token ownership\n6. **(daily-move) `controlled-mint\u002F`** - Controlled minting with access control\n\n**When to use:** Creating tokens, currencies, reward points\n\n#### DeFi & Trading\n\n1. **`marketplace\u002F`** - NFT marketplace patterns\n2. **`swap\u002F`** - Simple token swap\n3. **`liquidity_pool\u002F`** - AMM pool implementation\n4. **`staking\u002F`** - Staking mechanisms\n\n**When to use:** Building DEXs, marketplaces, trading platforms\n\n#### Governance & DAOs\n\n1. **`dao\u002F`** - DAO governance patterns\n2. **`voting\u002F`** - Voting mechanisms\n3. **`multisig\u002F`** - Multi-signature accounts\n\n**When to use:** Building DAOs, governance systems, voting\n\n#### Basic Patterns\n\n1. **`hello_blockchain\u002F`** - Module structure basics\n2. **`message_board\u002F`** - Simple state management\n3. **`resource_account\u002F`** - Resource patterns (legacy - avoid for new code)\n4. **(daily-move) `error-codes\u002F`** - Error code conventions and patterns\n5. **(daily-move) `private-vs-public\u002F`** - Function visibility and access\n6. **(daily-move) `objects\u002F`** - Object model fundamentals\n\n**When to use:** Learning Move basics, simple contracts\n\n#### Advanced Patterns\n\n1. **`object_playground\u002F`** - Object model exploration\n2. **`capability\u002F`** - Capability-based security\n3. **`upgradeable\u002F`** - Upgradeable contracts\n4. **(daily-move) `design-patterns\u002F`** - Autonomous objects and other design patterns\n5. **(daily-move) `struct-capabilities\u002F`** - Struct-based capability patterns\n6. **(daily-move) `move-2\u002F`** - Move 2 language features and idioms\n7. **(daily-move) `storage\u002F`** - Storage layout and optimization patterns\n8. **(daily-move) `data-structures\u002F`** - Heap data structure implementation\n\n**When to use:** Complex architectures, security patterns\n\n#### Gaming\n\n1. **(daily-move) `lootbox\u002F`** - Randomized loot box mechanics\n\n**When to use:** Building games, randomized rewards, loot systems\n\n### Step 3: Review Example Code\n\n**What to look for:**\n\n1. **Module Structure:**\n   - How are imports organized?\n   - What structs are defined?\n   - How are error codes structured?\n\n2. **Object Creation:**\n   - How are objects created?\n   - Which refs are generated?\n   - How is ownership managed?\n\n3. **Access Control:**\n   - How is signer authority verified?\n   - How is object ownership checked?\n   - What roles\u002Fpermissions exist?\n\n4. **Operations:**\n   - How are transfers handled?\n   - How are updates secured?\n   - What validations are performed?\n\n5. **Testing:**\n   - What test patterns are used?\n   - How is coverage achieved?\n\n### Step 4: Adapt Patterns to Your Use Case\n\n**Don't copy blindly - adapt:**\n\n1. **Understand the pattern:** Why is it structured this way?\n2. **Identify core concepts:** What security checks are critical?\n3. **Adapt to your needs:** Modify for your specific requirements\n4. **Maintain security:** Keep all security checks intact\n5. **Test thoroughly:** Ensure 100% coverage\n\n## Example Discovery Table\n\n| Building          | Search For                          | Source     | Key Files                                    |\n| ----------------- | ----------------------------------- | ---------- | -------------------------------------------- |\n| NFT Collection    | `token_objects`, `mint_nft`         | aptos-core | `token_objects\u002Fsources\u002Ftoken.move`           |\n| Fungible Token    | `fungible_asset`                    | aptos-core | `fungible_asset\u002Fsources\u002Ffungible_asset.move` |\n| Marketplace       | `marketplace`                       | aptos-core | `marketplace\u002Fsources\u002Fmarketplace.move`       |\n| DAO               | `dao`, `voting`                     | aptos-core | `dao\u002Fsources\u002Fdao.move`                       |\n| Token Swap        | `swap`, `liquidity_pool`            | aptos-core | `swap\u002Fsources\u002Fswap.move`                     |\n| Staking           | `staking`                           | aptos-core | `staking\u002Fsources\u002Fstaking.move`               |\n| Simple Contract   | `hello_blockchain`, `message_board` | aptos-core | `hello_blockchain\u002Fsources\u002Fhello.move`        |\n| Object Patterns   | `object_playground`                 | aptos-core | `object_playground\u002Fsources\u002Fplayground.move`  |\n| Composable NFTs   | `composable-nfts`                   | daily-move | `snippets\u002Fcomposable-nfts\u002F`                  |\n| FA Lockup\u002FEscrow  | `fa-lockup-example`                 | daily-move | `snippets\u002Ffa-lockup-example\u002F`                |\n| Design Patterns   | `design-patterns`                   | daily-move | `snippets\u002Fdesign-patterns\u002F`                  |\n| Move 2 Features   | `move-2`                            | daily-move | `snippets\u002Fmove-2\u002F`                           |\n| Data Structures   | `data-structures`                   | daily-move | `snippets\u002Fdata-structures\u002F`                  |\n| Storage Patterns  | `storage`                           | daily-move | `snippets\u002Fstorage\u002F`                          |\n| Loot Box Patterns | `lootbox`                           | daily-move | `snippets\u002Flootbox\u002F`                          |\n\n## How to Access Examples\n\n### Option 1: GitHub Web Interface\n\n```\nhttps:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core\u002Ftree\u002Fmain\u002Faptos-move\u002Fmove-examples\n```\n\nBrowse online and read source files directly.\n\n### Option 2: Clone Repository (Recommended)\n\n```bash\n# Clone Aptos core\ngit clone https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core.git\n\n# Navigate to examples\ncd aptos-core\u002Faptos-move\u002Fmove-examples\n\n# List all examples\nls -la\n\n# View specific example\ncd token_objects\ncat sources\u002Ftoken.move\n```\n\n### Option 3: daily-move Repository\n\n**Browse online:**\n\n```\nhttps:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move\u002Ftree\u002Fmain\u002Fsnippets\n```\n\n**Clone locally:**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move.git\ncd daily-move\u002Fsnippets\nls -la\n```\n\n### Option 4: Search Aptos Documentation\n\n```\nhttps:\u002F\u002Faptos.dev\u002Fbuild\u002Fsmart-contracts\n```\n\nMany examples are documented with explanations.\n\n## Common Patterns from Examples\n\n### Pattern 1: Object Creation (from token_objects)\n\n```move\n\u002F\u002F From: token_objects\u002Fsources\u002Ftoken.move\npublic entry fun create_token(\n    creator: &signer,\n    collection_name: String,\n    description: String,\n    name: String,\n    uri: String,\n) {\n    let constructor_ref = token::create_named_token(\n        creator,\n        collection_name,\n        description,\n        name,\n        option::none(),\n        uri,\n    );\n    \u002F\u002F ... additional setup\n}\n```\n\n**Takeaway:** Use named tokens for collections, create_object for unique items.\n\n### Pattern 2: Access Control (from dao)\n\n```move\n\u002F\u002F From: dao\u002Fsources\u002Fdao.move\npublic entry fun execute_proposal(\n    proposer: &signer,\n    proposal_id: u64\n) acquires DAO, Proposal {\n    let dao = borrow_global_mut\u003CDAO>(@dao_addr);\n    let proposal = vector::borrow_mut(&mut dao.proposals, proposal_id);\n\n    \u002F\u002F Verify proposal passed\n    assert!(proposal.votes_for > proposal.votes_against, E_PROPOSAL_NOT_PASSED);\n\n    \u002F\u002F Execute actions\n    \u002F\u002F ...\n}\n```\n\n**Takeaway:** Verify state conditions before executing critical operations.\n\n### Pattern 3: Transfer Control (from fungible_asset)\n\n```move\n\u002F\u002F From: fungible_asset\u002Fsources\u002Ffungible_asset.move\npublic fun transfer\u003CT: key>(\n    from: &signer,\n    to: address,\n    amount: u64\n) acquires FungibleStore {\n    \u002F\u002F Verify sender has sufficient balance\n    let from_store = borrow_global_mut\u003CFungibleStore\u003CT>>(signer::address_of(from));\n    assert!(from_store.balance >= amount, E_INSUFFICIENT_BALANCE);\n\n    \u002F\u002F Deduct from sender\n    from_store.balance = from_store.balance - amount;\n\n    \u002F\u002F Add to recipient\n    let to_store = borrow_global_mut\u003CFungibleStore\u003CT>>(to);\n    to_store.balance = to_store.balance + amount;\n}\n```\n\n**Takeaway:** Check-effects-interactions pattern (verify, deduct, add).\n\n## ALWAYS Rules\n\n- ✅ ALWAYS search examples before writing new contracts\n- ✅ ALWAYS check both aptos-core (canonical) and daily-move (educational) repositories\n- ✅ ALWAYS understand patterns before copying\n- ✅ ALWAYS adapt patterns to your use case\n- ✅ ALWAYS maintain security checks from examples\n- ✅ ALWAYS reference which example you adapted from\n- ✅ ALWAYS test adapted code thoroughly\n\n## NEVER Rules\n\n- ❌ NEVER copy code without understanding it\n- ❌ NEVER skip security checks from examples\n- ❌ NEVER use deprecated patterns (resource accounts, address-based)\n- ❌ NEVER assume examples are always up-to-date (verify against docs)\n- ❌ NEVER mix V1 and V2 patterns\n- ❌ NEVER include real private keys or credentials when adapting examples — use `\"0x...\"` placeholders\n\n## Search Checklist\n\nBefore writing contract code:\n\n- [ ] Identified category (NFT, DeFi, DAO, etc.)\n- [ ] Found 2-3 relevant examples in aptos-core\n- [ ] Checked daily-move snippets for educational examples\n- [ ] Reviewed module structure\n- [ ] Identified security patterns\n- [ ] Understood object creation patterns\n- [ ] Noted access control mechanisms\n- [ ] Checked test patterns\n- [ ] Ready to adapt to my use case\n\n## Example Adaptation Workflow\n\n### Step-by-Step: Building NFT Collection\n\n1. **Search:** Find `token_objects` example\n2. **Review Structure:**\n\n   ```\n   token_objects\u002F\n   ├── sources\u002F\n   │   ├── collection.move  # Collection management\n   │   ├── token.move       # Token operations\n   │   └── property_map.move # Metadata handling\n   └── tests\u002F\n       └── token_tests.move\n   ```\n\n3. **Identify Key Patterns:**\n   - Collection creation with `create_collection`\n   - Token minting with `create_named_token`\n   - Metadata storage using `PropertyMap`\n   - Transfer control with `TransferRef`\n\n4. **Adapt to Your Needs:**\n   - Keep object creation pattern\n   - Keep security checks\n   - Add your custom fields\n   - Add your business logic\n   - Write comprehensive tests\n\n5. **Reference in Code:**\n   ```move\n   \u002F\u002F Adapted from: aptos-core\u002Fmove-examples\u002Ftoken_objects\n   module my_addr::custom_nft {\n       \u002F\u002F ... your implementation\n   }\n   ```\n\n## References\n\n**Official Examples:**\n\n- aptos-core: https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core\u002Ftree\u002Fmain\u002Faptos-move\u002Fmove-examples\n- daily-move: https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move\u002Ftree\u002Fmain\u002Fsnippets\n- Documentation: https:\u002F\u002Faptos.dev\u002Fbuild\u002Fsmart-contracts\n\n**Related Skills:**\n\n- `write-contracts` - Apply patterns after searching\n- `security-audit` - Verify security of adapted code\n- `generate-tests` - Test adapted patterns\n\n---\n\n**Remember:** Search examples first. Understand patterns. Adapt securely. Test thoroughly.\n",{"data":36,"body":47},{"name":4,"description":6,"license":26,"metadata":37},{"author":11,"version":38,"category":39,"tags":40,"priority":46},"1.0","move",[41,42,43,44,45],"examples","reference","patterns","aptos-core","daily-move","high",{"type":48,"children":49},"root",[50,59,66,80,88,122,128,135,140,213,219,227,234,355,365,370,460,469,475,534,543,549,594,603,609,699,708,714,834,843,848,866,875,881,889,1017,1023,1031,1084,1090,1606,1612,1618,1630,1635,1641,1791,1797,1805,1814,1822,1868,1874,1883,1888,1894,1900,2057,2067,2073,2189,2198,2204,2344,2353,2359,2397,2403,2444,2450,2455,2544,2550,2556,2730,2736,2744,2782,2790,2826,2830,2840],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"search-aptos-examples-skill",[56],{"type":57,"value":58},"text","Search Aptos Examples Skill",{"type":51,"tag":60,"props":61,"children":63},"h2",{"id":62},"overview",[64],{"type":57,"value":65},"Overview",{"type":51,"tag":67,"props":68,"children":69},"p",{},[70,72,78],{"type":57,"value":71},"This skill helps you find relevant examples in official Aptos repositories before writing new contracts. ",{"type":51,"tag":73,"props":74,"children":75},"strong",{},[76],{"type":57,"value":77},"Always search\nexamples first",{"type":57,"value":79}," to follow established patterns.",{"type":51,"tag":67,"props":81,"children":82},{},[83],{"type":51,"tag":73,"props":84,"children":85},{},[86],{"type":57,"value":87},"Repositories:",{"type":51,"tag":89,"props":90,"children":91},"ul",{},[92,108],{"type":51,"tag":93,"props":94,"children":95},"li",{},[96,106],{"type":51,"tag":73,"props":97,"children":98},{},[99],{"type":51,"tag":100,"props":101,"children":103},"code",{"className":102},[],[104],{"type":57,"value":105},"aptos-labs\u002Faptos-core\u002Faptos-move\u002Fmove-examples\u002F",{"type":57,"value":107}," — 53+ official Move examples demonstrating best practices",{"type":51,"tag":93,"props":109,"children":110},{},[111,120],{"type":51,"tag":73,"props":112,"children":113},{},[114],{"type":51,"tag":100,"props":115,"children":117},{"className":116},[],[118],{"type":57,"value":119},"aptos-labs\u002Fdaily-move\u002Fsnippets\u002F",{"type":57,"value":121}," — 17 curated educational examples covering design patterns, Move 2 features,\ncomposable NFTs, and more",{"type":51,"tag":60,"props":123,"children":125},{"id":124},"core-workflow",[126],{"type":57,"value":127},"Core Workflow",{"type":51,"tag":129,"props":130,"children":132},"h3",{"id":131},"step-1-identify-what-youre-building",[133],{"type":57,"value":134},"Step 1: Identify What You're Building",{"type":51,"tag":67,"props":136,"children":137},{},[138],{"type":57,"value":139},"Categorize your contract:",{"type":51,"tag":89,"props":141,"children":142},{},[143,153,163,173,183,193,203],{"type":51,"tag":93,"props":144,"children":145},{},[146,151],{"type":51,"tag":73,"props":147,"children":148},{},[149],{"type":57,"value":150},"NFTs\u002FTokens",{"type":57,"value":152},": NFT collections, digital assets, collectibles",{"type":51,"tag":93,"props":154,"children":155},{},[156,161],{"type":51,"tag":73,"props":157,"children":158},{},[159],{"type":57,"value":160},"Fungible Assets",{"type":57,"value":162},": Coins, tokens, currencies",{"type":51,"tag":93,"props":164,"children":165},{},[166,171],{"type":51,"tag":73,"props":167,"children":168},{},[169],{"type":57,"value":170},"DeFi",{"type":57,"value":172},": DEXs, AMMs, lending, staking",{"type":51,"tag":93,"props":174,"children":175},{},[176,181],{"type":51,"tag":73,"props":177,"children":178},{},[179],{"type":57,"value":180},"Governance",{"type":57,"value":182},": DAOs, voting, proposals",{"type":51,"tag":93,"props":184,"children":185},{},[186,191],{"type":51,"tag":73,"props":187,"children":188},{},[189],{"type":57,"value":190},"Marketplace",{"type":57,"value":192},": Trading, escrow, auctions",{"type":51,"tag":93,"props":194,"children":195},{},[196,201],{"type":51,"tag":73,"props":197,"children":198},{},[199],{"type":57,"value":200},"Gaming",{"type":57,"value":202},": Items, characters, game logic",{"type":51,"tag":93,"props":204,"children":205},{},[206,211],{"type":51,"tag":73,"props":207,"children":208},{},[209],{"type":57,"value":210},"Infrastructure",{"type":57,"value":212},": Registries, configs, utilities",{"type":51,"tag":129,"props":214,"children":216},{"id":215},"step-2-search-relevant-examples",[217],{"type":57,"value":218},"Step 2: Search Relevant Examples",{"type":51,"tag":67,"props":220,"children":221},{},[222],{"type":51,"tag":73,"props":223,"children":224},{},[225],{"type":57,"value":226},"Priority Examples by Category:",{"type":51,"tag":228,"props":229,"children":231},"h4",{"id":230},"nfts-token-objects",[232],{"type":57,"value":233},"NFTs & Token Objects",{"type":51,"tag":235,"props":236,"children":237},"ol",{},[238,252,266,280,294,310,325,340],{"type":51,"tag":93,"props":239,"children":240},{},[241,250],{"type":51,"tag":73,"props":242,"children":243},{},[244],{"type":51,"tag":100,"props":245,"children":247},{"className":246},[],[248],{"type":57,"value":249},"token_objects\u002F",{"type":57,"value":251}," - Modern object-based tokens (V2 pattern)",{"type":51,"tag":93,"props":253,"children":254},{},[255,264],{"type":51,"tag":73,"props":256,"children":257},{},[258],{"type":51,"tag":100,"props":259,"children":261},{"className":260},[],[262],{"type":57,"value":263},"mint_nft\u002F",{"type":57,"value":265}," - NFT minting patterns",{"type":51,"tag":93,"props":267,"children":268},{},[269,278],{"type":51,"tag":73,"props":270,"children":271},{},[272],{"type":51,"tag":100,"props":273,"children":275},{"className":274},[],[276],{"type":57,"value":277},"nft_dao\u002F",{"type":57,"value":279}," - NFT-gated governance",{"type":51,"tag":93,"props":281,"children":282},{},[283,292],{"type":51,"tag":73,"props":284,"children":285},{},[286],{"type":51,"tag":100,"props":287,"children":289},{"className":288},[],[290],{"type":57,"value":291},"collection_manager\u002F",{"type":57,"value":293}," - Collection management",{"type":51,"tag":93,"props":295,"children":296},{},[297,308],{"type":51,"tag":73,"props":298,"children":299},{},[300,302],{"type":57,"value":301},"(daily-move) ",{"type":51,"tag":100,"props":303,"children":305},{"className":304},[],[306],{"type":57,"value":307},"composable-nfts\u002F",{"type":57,"value":309}," - NFTs that contain other NFTs",{"type":51,"tag":93,"props":311,"children":312},{},[313,323],{"type":51,"tag":73,"props":314,"children":315},{},[316,317],{"type":57,"value":301},{"type":51,"tag":100,"props":318,"children":320},{"className":319},[],[321],{"type":57,"value":322},"modifying-nfts\u002F",{"type":57,"value":324}," - Mutable NFT metadata patterns",{"type":51,"tag":93,"props":326,"children":327},{},[328,338],{"type":51,"tag":73,"props":329,"children":330},{},[331,332],{"type":57,"value":301},{"type":51,"tag":100,"props":333,"children":335},{"className":334},[],[336],{"type":57,"value":337},"parallel-nfts\u002F",{"type":57,"value":339}," - Concurrent NFT minting",{"type":51,"tag":93,"props":341,"children":342},{},[343,353],{"type":51,"tag":73,"props":344,"children":345},{},[346,347],{"type":57,"value":301},{"type":51,"tag":100,"props":348,"children":350},{"className":349},[],[351],{"type":57,"value":352},"liquid-nfts\u002F",{"type":57,"value":354}," - Fractionalized\u002Fliquid NFTs",{"type":51,"tag":67,"props":356,"children":357},{},[358,363],{"type":51,"tag":73,"props":359,"children":360},{},[361],{"type":57,"value":362},"When to use:",{"type":57,"value":364}," Building NFT collections, digital collectibles, tokenized assets",{"type":51,"tag":228,"props":366,"children":368},{"id":367},"fungible-assets",[369],{"type":57,"value":160},{"type":51,"tag":235,"props":371,"children":372},{},[373,387,401,415,430,445],{"type":51,"tag":93,"props":374,"children":375},{},[376,385],{"type":51,"tag":73,"props":377,"children":378},{},[379],{"type":51,"tag":100,"props":380,"children":382},{"className":381},[],[383],{"type":57,"value":384},"fungible_asset\u002F",{"type":57,"value":386}," - Modern fungible token standard",{"type":51,"tag":93,"props":388,"children":389},{},[390,399],{"type":51,"tag":73,"props":391,"children":392},{},[393],{"type":51,"tag":100,"props":394,"children":396},{"className":395},[],[397],{"type":57,"value":398},"coin\u002F",{"type":57,"value":400}," - Basic coin implementation",{"type":51,"tag":93,"props":402,"children":403},{},[404,413],{"type":51,"tag":73,"props":405,"children":406},{},[407],{"type":51,"tag":100,"props":408,"children":410},{"className":409},[],[411],{"type":57,"value":412},"managed_fungible_asset\u002F",{"type":57,"value":414}," - Controlled fungible assets",{"type":51,"tag":93,"props":416,"children":417},{},[418,428],{"type":51,"tag":73,"props":419,"children":420},{},[421,422],{"type":57,"value":301},{"type":51,"tag":100,"props":423,"children":425},{"className":424},[],[426],{"type":57,"value":427},"fa-lockup-example\u002F",{"type":57,"value":429}," - FA lockup and escrow patterns",{"type":51,"tag":93,"props":431,"children":432},{},[433,443],{"type":51,"tag":73,"props":434,"children":435},{},[436,437],{"type":57,"value":301},{"type":51,"tag":100,"props":438,"children":440},{"className":439},[],[441],{"type":57,"value":442},"fractional-token\u002F",{"type":57,"value":444}," - Fractional token ownership",{"type":51,"tag":93,"props":446,"children":447},{},[448,458],{"type":51,"tag":73,"props":449,"children":450},{},[451,452],{"type":57,"value":301},{"type":51,"tag":100,"props":453,"children":455},{"className":454},[],[456],{"type":57,"value":457},"controlled-mint\u002F",{"type":57,"value":459}," - Controlled minting with access control",{"type":51,"tag":67,"props":461,"children":462},{},[463,467],{"type":51,"tag":73,"props":464,"children":465},{},[466],{"type":57,"value":362},{"type":57,"value":468}," Creating tokens, currencies, reward points",{"type":51,"tag":228,"props":470,"children":472},{"id":471},"defi-trading",[473],{"type":57,"value":474},"DeFi & Trading",{"type":51,"tag":235,"props":476,"children":477},{},[478,492,506,520],{"type":51,"tag":93,"props":479,"children":480},{},[481,490],{"type":51,"tag":73,"props":482,"children":483},{},[484],{"type":51,"tag":100,"props":485,"children":487},{"className":486},[],[488],{"type":57,"value":489},"marketplace\u002F",{"type":57,"value":491}," - NFT marketplace patterns",{"type":51,"tag":93,"props":493,"children":494},{},[495,504],{"type":51,"tag":73,"props":496,"children":497},{},[498],{"type":51,"tag":100,"props":499,"children":501},{"className":500},[],[502],{"type":57,"value":503},"swap\u002F",{"type":57,"value":505}," - Simple token swap",{"type":51,"tag":93,"props":507,"children":508},{},[509,518],{"type":51,"tag":73,"props":510,"children":511},{},[512],{"type":51,"tag":100,"props":513,"children":515},{"className":514},[],[516],{"type":57,"value":517},"liquidity_pool\u002F",{"type":57,"value":519}," - AMM pool implementation",{"type":51,"tag":93,"props":521,"children":522},{},[523,532],{"type":51,"tag":73,"props":524,"children":525},{},[526],{"type":51,"tag":100,"props":527,"children":529},{"className":528},[],[530],{"type":57,"value":531},"staking\u002F",{"type":57,"value":533}," - Staking mechanisms",{"type":51,"tag":67,"props":535,"children":536},{},[537,541],{"type":51,"tag":73,"props":538,"children":539},{},[540],{"type":57,"value":362},{"type":57,"value":542}," Building DEXs, marketplaces, trading platforms",{"type":51,"tag":228,"props":544,"children":546},{"id":545},"governance-daos",[547],{"type":57,"value":548},"Governance & DAOs",{"type":51,"tag":235,"props":550,"children":551},{},[552,566,580],{"type":51,"tag":93,"props":553,"children":554},{},[555,564],{"type":51,"tag":73,"props":556,"children":557},{},[558],{"type":51,"tag":100,"props":559,"children":561},{"className":560},[],[562],{"type":57,"value":563},"dao\u002F",{"type":57,"value":565}," - DAO governance patterns",{"type":51,"tag":93,"props":567,"children":568},{},[569,578],{"type":51,"tag":73,"props":570,"children":571},{},[572],{"type":51,"tag":100,"props":573,"children":575},{"className":574},[],[576],{"type":57,"value":577},"voting\u002F",{"type":57,"value":579}," - Voting mechanisms",{"type":51,"tag":93,"props":581,"children":582},{},[583,592],{"type":51,"tag":73,"props":584,"children":585},{},[586],{"type":51,"tag":100,"props":587,"children":589},{"className":588},[],[590],{"type":57,"value":591},"multisig\u002F",{"type":57,"value":593}," - Multi-signature accounts",{"type":51,"tag":67,"props":595,"children":596},{},[597,601],{"type":51,"tag":73,"props":598,"children":599},{},[600],{"type":57,"value":362},{"type":57,"value":602}," Building DAOs, governance systems, voting",{"type":51,"tag":228,"props":604,"children":606},{"id":605},"basic-patterns",[607],{"type":57,"value":608},"Basic Patterns",{"type":51,"tag":235,"props":610,"children":611},{},[612,626,640,654,669,684],{"type":51,"tag":93,"props":613,"children":614},{},[615,624],{"type":51,"tag":73,"props":616,"children":617},{},[618],{"type":51,"tag":100,"props":619,"children":621},{"className":620},[],[622],{"type":57,"value":623},"hello_blockchain\u002F",{"type":57,"value":625}," - Module structure basics",{"type":51,"tag":93,"props":627,"children":628},{},[629,638],{"type":51,"tag":73,"props":630,"children":631},{},[632],{"type":51,"tag":100,"props":633,"children":635},{"className":634},[],[636],{"type":57,"value":637},"message_board\u002F",{"type":57,"value":639}," - Simple state management",{"type":51,"tag":93,"props":641,"children":642},{},[643,652],{"type":51,"tag":73,"props":644,"children":645},{},[646],{"type":51,"tag":100,"props":647,"children":649},{"className":648},[],[650],{"type":57,"value":651},"resource_account\u002F",{"type":57,"value":653}," - Resource patterns (legacy - avoid for new code)",{"type":51,"tag":93,"props":655,"children":656},{},[657,667],{"type":51,"tag":73,"props":658,"children":659},{},[660,661],{"type":57,"value":301},{"type":51,"tag":100,"props":662,"children":664},{"className":663},[],[665],{"type":57,"value":666},"error-codes\u002F",{"type":57,"value":668}," - Error code conventions and patterns",{"type":51,"tag":93,"props":670,"children":671},{},[672,682],{"type":51,"tag":73,"props":673,"children":674},{},[675,676],{"type":57,"value":301},{"type":51,"tag":100,"props":677,"children":679},{"className":678},[],[680],{"type":57,"value":681},"private-vs-public\u002F",{"type":57,"value":683}," - Function visibility and access",{"type":51,"tag":93,"props":685,"children":686},{},[687,697],{"type":51,"tag":73,"props":688,"children":689},{},[690,691],{"type":57,"value":301},{"type":51,"tag":100,"props":692,"children":694},{"className":693},[],[695],{"type":57,"value":696},"objects\u002F",{"type":57,"value":698}," - Object model fundamentals",{"type":51,"tag":67,"props":700,"children":701},{},[702,706],{"type":51,"tag":73,"props":703,"children":704},{},[705],{"type":57,"value":362},{"type":57,"value":707}," Learning Move basics, simple contracts",{"type":51,"tag":228,"props":709,"children":711},{"id":710},"advanced-patterns",[712],{"type":57,"value":713},"Advanced Patterns",{"type":51,"tag":235,"props":715,"children":716},{},[717,731,745,759,774,789,804,819],{"type":51,"tag":93,"props":718,"children":719},{},[720,729],{"type":51,"tag":73,"props":721,"children":722},{},[723],{"type":51,"tag":100,"props":724,"children":726},{"className":725},[],[727],{"type":57,"value":728},"object_playground\u002F",{"type":57,"value":730}," - Object model exploration",{"type":51,"tag":93,"props":732,"children":733},{},[734,743],{"type":51,"tag":73,"props":735,"children":736},{},[737],{"type":51,"tag":100,"props":738,"children":740},{"className":739},[],[741],{"type":57,"value":742},"capability\u002F",{"type":57,"value":744}," - Capability-based security",{"type":51,"tag":93,"props":746,"children":747},{},[748,757],{"type":51,"tag":73,"props":749,"children":750},{},[751],{"type":51,"tag":100,"props":752,"children":754},{"className":753},[],[755],{"type":57,"value":756},"upgradeable\u002F",{"type":57,"value":758}," - Upgradeable contracts",{"type":51,"tag":93,"props":760,"children":761},{},[762,772],{"type":51,"tag":73,"props":763,"children":764},{},[765,766],{"type":57,"value":301},{"type":51,"tag":100,"props":767,"children":769},{"className":768},[],[770],{"type":57,"value":771},"design-patterns\u002F",{"type":57,"value":773}," - Autonomous objects and other design patterns",{"type":51,"tag":93,"props":775,"children":776},{},[777,787],{"type":51,"tag":73,"props":778,"children":779},{},[780,781],{"type":57,"value":301},{"type":51,"tag":100,"props":782,"children":784},{"className":783},[],[785],{"type":57,"value":786},"struct-capabilities\u002F",{"type":57,"value":788}," - Struct-based capability patterns",{"type":51,"tag":93,"props":790,"children":791},{},[792,802],{"type":51,"tag":73,"props":793,"children":794},{},[795,796],{"type":57,"value":301},{"type":51,"tag":100,"props":797,"children":799},{"className":798},[],[800],{"type":57,"value":801},"move-2\u002F",{"type":57,"value":803}," - Move 2 language features and idioms",{"type":51,"tag":93,"props":805,"children":806},{},[807,817],{"type":51,"tag":73,"props":808,"children":809},{},[810,811],{"type":57,"value":301},{"type":51,"tag":100,"props":812,"children":814},{"className":813},[],[815],{"type":57,"value":816},"storage\u002F",{"type":57,"value":818}," - Storage layout and optimization patterns",{"type":51,"tag":93,"props":820,"children":821},{},[822,832],{"type":51,"tag":73,"props":823,"children":824},{},[825,826],{"type":57,"value":301},{"type":51,"tag":100,"props":827,"children":829},{"className":828},[],[830],{"type":57,"value":831},"data-structures\u002F",{"type":57,"value":833}," - Heap data structure implementation",{"type":51,"tag":67,"props":835,"children":836},{},[837,841],{"type":51,"tag":73,"props":838,"children":839},{},[840],{"type":57,"value":362},{"type":57,"value":842}," Complex architectures, security patterns",{"type":51,"tag":228,"props":844,"children":846},{"id":845},"gaming",[847],{"type":57,"value":200},{"type":51,"tag":235,"props":849,"children":850},{},[851],{"type":51,"tag":93,"props":852,"children":853},{},[854,864],{"type":51,"tag":73,"props":855,"children":856},{},[857,858],{"type":57,"value":301},{"type":51,"tag":100,"props":859,"children":861},{"className":860},[],[862],{"type":57,"value":863},"lootbox\u002F",{"type":57,"value":865}," - Randomized loot box mechanics",{"type":51,"tag":67,"props":867,"children":868},{},[869,873],{"type":51,"tag":73,"props":870,"children":871},{},[872],{"type":57,"value":362},{"type":57,"value":874}," Building games, randomized rewards, loot systems",{"type":51,"tag":129,"props":876,"children":878},{"id":877},"step-3-review-example-code",[879],{"type":57,"value":880},"Step 3: Review Example Code",{"type":51,"tag":67,"props":882,"children":883},{},[884],{"type":51,"tag":73,"props":885,"children":886},{},[887],{"type":57,"value":888},"What to look for:",{"type":51,"tag":235,"props":890,"children":891},{},[892,918,944,970,996],{"type":51,"tag":93,"props":893,"children":894},{},[895,900],{"type":51,"tag":73,"props":896,"children":897},{},[898],{"type":57,"value":899},"Module Structure:",{"type":51,"tag":89,"props":901,"children":902},{},[903,908,913],{"type":51,"tag":93,"props":904,"children":905},{},[906],{"type":57,"value":907},"How are imports organized?",{"type":51,"tag":93,"props":909,"children":910},{},[911],{"type":57,"value":912},"What structs are defined?",{"type":51,"tag":93,"props":914,"children":915},{},[916],{"type":57,"value":917},"How are error codes structured?",{"type":51,"tag":93,"props":919,"children":920},{},[921,926],{"type":51,"tag":73,"props":922,"children":923},{},[924],{"type":57,"value":925},"Object Creation:",{"type":51,"tag":89,"props":927,"children":928},{},[929,934,939],{"type":51,"tag":93,"props":930,"children":931},{},[932],{"type":57,"value":933},"How are objects created?",{"type":51,"tag":93,"props":935,"children":936},{},[937],{"type":57,"value":938},"Which refs are generated?",{"type":51,"tag":93,"props":940,"children":941},{},[942],{"type":57,"value":943},"How is ownership managed?",{"type":51,"tag":93,"props":945,"children":946},{},[947,952],{"type":51,"tag":73,"props":948,"children":949},{},[950],{"type":57,"value":951},"Access Control:",{"type":51,"tag":89,"props":953,"children":954},{},[955,960,965],{"type":51,"tag":93,"props":956,"children":957},{},[958],{"type":57,"value":959},"How is signer authority verified?",{"type":51,"tag":93,"props":961,"children":962},{},[963],{"type":57,"value":964},"How is object ownership checked?",{"type":51,"tag":93,"props":966,"children":967},{},[968],{"type":57,"value":969},"What roles\u002Fpermissions exist?",{"type":51,"tag":93,"props":971,"children":972},{},[973,978],{"type":51,"tag":73,"props":974,"children":975},{},[976],{"type":57,"value":977},"Operations:",{"type":51,"tag":89,"props":979,"children":980},{},[981,986,991],{"type":51,"tag":93,"props":982,"children":983},{},[984],{"type":57,"value":985},"How are transfers handled?",{"type":51,"tag":93,"props":987,"children":988},{},[989],{"type":57,"value":990},"How are updates secured?",{"type":51,"tag":93,"props":992,"children":993},{},[994],{"type":57,"value":995},"What validations are performed?",{"type":51,"tag":93,"props":997,"children":998},{},[999,1004],{"type":51,"tag":73,"props":1000,"children":1001},{},[1002],{"type":57,"value":1003},"Testing:",{"type":51,"tag":89,"props":1005,"children":1006},{},[1007,1012],{"type":51,"tag":93,"props":1008,"children":1009},{},[1010],{"type":57,"value":1011},"What test patterns are used?",{"type":51,"tag":93,"props":1013,"children":1014},{},[1015],{"type":57,"value":1016},"How is coverage achieved?",{"type":51,"tag":129,"props":1018,"children":1020},{"id":1019},"step-4-adapt-patterns-to-your-use-case",[1021],{"type":57,"value":1022},"Step 4: Adapt Patterns to Your Use Case",{"type":51,"tag":67,"props":1024,"children":1025},{},[1026],{"type":51,"tag":73,"props":1027,"children":1028},{},[1029],{"type":57,"value":1030},"Don't copy blindly - adapt:",{"type":51,"tag":235,"props":1032,"children":1033},{},[1034,1044,1054,1064,1074],{"type":51,"tag":93,"props":1035,"children":1036},{},[1037,1042],{"type":51,"tag":73,"props":1038,"children":1039},{},[1040],{"type":57,"value":1041},"Understand the pattern:",{"type":57,"value":1043}," Why is it structured this way?",{"type":51,"tag":93,"props":1045,"children":1046},{},[1047,1052],{"type":51,"tag":73,"props":1048,"children":1049},{},[1050],{"type":57,"value":1051},"Identify core concepts:",{"type":57,"value":1053}," What security checks are critical?",{"type":51,"tag":93,"props":1055,"children":1056},{},[1057,1062],{"type":51,"tag":73,"props":1058,"children":1059},{},[1060],{"type":57,"value":1061},"Adapt to your needs:",{"type":57,"value":1063}," Modify for your specific requirements",{"type":51,"tag":93,"props":1065,"children":1066},{},[1067,1072],{"type":51,"tag":73,"props":1068,"children":1069},{},[1070],{"type":57,"value":1071},"Maintain security:",{"type":57,"value":1073}," Keep all security checks intact",{"type":51,"tag":93,"props":1075,"children":1076},{},[1077,1082],{"type":51,"tag":73,"props":1078,"children":1079},{},[1080],{"type":57,"value":1081},"Test thoroughly:",{"type":57,"value":1083}," Ensure 100% coverage",{"type":51,"tag":60,"props":1085,"children":1087},{"id":1086},"example-discovery-table",[1088],{"type":57,"value":1089},"Example Discovery Table",{"type":51,"tag":1091,"props":1092,"children":1093},"table",{},[1094,1123],{"type":51,"tag":1095,"props":1096,"children":1097},"thead",{},[1098],{"type":51,"tag":1099,"props":1100,"children":1101},"tr",{},[1102,1108,1113,1118],{"type":51,"tag":1103,"props":1104,"children":1105},"th",{},[1106],{"type":57,"value":1107},"Building",{"type":51,"tag":1103,"props":1109,"children":1110},{},[1111],{"type":57,"value":1112},"Search For",{"type":51,"tag":1103,"props":1114,"children":1115},{},[1116],{"type":57,"value":1117},"Source",{"type":51,"tag":1103,"props":1119,"children":1120},{},[1121],{"type":57,"value":1122},"Key Files",{"type":51,"tag":1124,"props":1125,"children":1126},"tbody",{},[1127,1166,1196,1225,1262,1299,1329,1366,1396,1426,1456,1486,1516,1546,1576],{"type":51,"tag":1099,"props":1128,"children":1129},{},[1130,1136,1153,1157],{"type":51,"tag":1131,"props":1132,"children":1133},"td",{},[1134],{"type":57,"value":1135},"NFT Collection",{"type":51,"tag":1131,"props":1137,"children":1138},{},[1139,1145,1147],{"type":51,"tag":100,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":57,"value":1144},"token_objects",{"type":57,"value":1146},", ",{"type":51,"tag":100,"props":1148,"children":1150},{"className":1149},[],[1151],{"type":57,"value":1152},"mint_nft",{"type":51,"tag":1131,"props":1154,"children":1155},{},[1156],{"type":57,"value":44},{"type":51,"tag":1131,"props":1158,"children":1159},{},[1160],{"type":51,"tag":100,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":57,"value":1165},"token_objects\u002Fsources\u002Ftoken.move",{"type":51,"tag":1099,"props":1167,"children":1168},{},[1169,1174,1183,1187],{"type":51,"tag":1131,"props":1170,"children":1171},{},[1172],{"type":57,"value":1173},"Fungible Token",{"type":51,"tag":1131,"props":1175,"children":1176},{},[1177],{"type":51,"tag":100,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":57,"value":1182},"fungible_asset",{"type":51,"tag":1131,"props":1184,"children":1185},{},[1186],{"type":57,"value":44},{"type":51,"tag":1131,"props":1188,"children":1189},{},[1190],{"type":51,"tag":100,"props":1191,"children":1193},{"className":1192},[],[1194],{"type":57,"value":1195},"fungible_asset\u002Fsources\u002Ffungible_asset.move",{"type":51,"tag":1099,"props":1197,"children":1198},{},[1199,1203,1212,1216],{"type":51,"tag":1131,"props":1200,"children":1201},{},[1202],{"type":57,"value":190},{"type":51,"tag":1131,"props":1204,"children":1205},{},[1206],{"type":51,"tag":100,"props":1207,"children":1209},{"className":1208},[],[1210],{"type":57,"value":1211},"marketplace",{"type":51,"tag":1131,"props":1213,"children":1214},{},[1215],{"type":57,"value":44},{"type":51,"tag":1131,"props":1217,"children":1218},{},[1219],{"type":51,"tag":100,"props":1220,"children":1222},{"className":1221},[],[1223],{"type":57,"value":1224},"marketplace\u002Fsources\u002Fmarketplace.move",{"type":51,"tag":1099,"props":1226,"children":1227},{},[1228,1233,1249,1253],{"type":51,"tag":1131,"props":1229,"children":1230},{},[1231],{"type":57,"value":1232},"DAO",{"type":51,"tag":1131,"props":1234,"children":1235},{},[1236,1242,1243],{"type":51,"tag":100,"props":1237,"children":1239},{"className":1238},[],[1240],{"type":57,"value":1241},"dao",{"type":57,"value":1146},{"type":51,"tag":100,"props":1244,"children":1246},{"className":1245},[],[1247],{"type":57,"value":1248},"voting",{"type":51,"tag":1131,"props":1250,"children":1251},{},[1252],{"type":57,"value":44},{"type":51,"tag":1131,"props":1254,"children":1255},{},[1256],{"type":51,"tag":100,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":57,"value":1261},"dao\u002Fsources\u002Fdao.move",{"type":51,"tag":1099,"props":1263,"children":1264},{},[1265,1270,1286,1290],{"type":51,"tag":1131,"props":1266,"children":1267},{},[1268],{"type":57,"value":1269},"Token Swap",{"type":51,"tag":1131,"props":1271,"children":1272},{},[1273,1279,1280],{"type":51,"tag":100,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":57,"value":1278},"swap",{"type":57,"value":1146},{"type":51,"tag":100,"props":1281,"children":1283},{"className":1282},[],[1284],{"type":57,"value":1285},"liquidity_pool",{"type":51,"tag":1131,"props":1287,"children":1288},{},[1289],{"type":57,"value":44},{"type":51,"tag":1131,"props":1291,"children":1292},{},[1293],{"type":51,"tag":100,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":57,"value":1298},"swap\u002Fsources\u002Fswap.move",{"type":51,"tag":1099,"props":1300,"children":1301},{},[1302,1307,1316,1320],{"type":51,"tag":1131,"props":1303,"children":1304},{},[1305],{"type":57,"value":1306},"Staking",{"type":51,"tag":1131,"props":1308,"children":1309},{},[1310],{"type":51,"tag":100,"props":1311,"children":1313},{"className":1312},[],[1314],{"type":57,"value":1315},"staking",{"type":51,"tag":1131,"props":1317,"children":1318},{},[1319],{"type":57,"value":44},{"type":51,"tag":1131,"props":1321,"children":1322},{},[1323],{"type":51,"tag":100,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":57,"value":1328},"staking\u002Fsources\u002Fstaking.move",{"type":51,"tag":1099,"props":1330,"children":1331},{},[1332,1337,1353,1357],{"type":51,"tag":1131,"props":1333,"children":1334},{},[1335],{"type":57,"value":1336},"Simple Contract",{"type":51,"tag":1131,"props":1338,"children":1339},{},[1340,1346,1347],{"type":51,"tag":100,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":57,"value":1345},"hello_blockchain",{"type":57,"value":1146},{"type":51,"tag":100,"props":1348,"children":1350},{"className":1349},[],[1351],{"type":57,"value":1352},"message_board",{"type":51,"tag":1131,"props":1354,"children":1355},{},[1356],{"type":57,"value":44},{"type":51,"tag":1131,"props":1358,"children":1359},{},[1360],{"type":51,"tag":100,"props":1361,"children":1363},{"className":1362},[],[1364],{"type":57,"value":1365},"hello_blockchain\u002Fsources\u002Fhello.move",{"type":51,"tag":1099,"props":1367,"children":1368},{},[1369,1374,1383,1387],{"type":51,"tag":1131,"props":1370,"children":1371},{},[1372],{"type":57,"value":1373},"Object Patterns",{"type":51,"tag":1131,"props":1375,"children":1376},{},[1377],{"type":51,"tag":100,"props":1378,"children":1380},{"className":1379},[],[1381],{"type":57,"value":1382},"object_playground",{"type":51,"tag":1131,"props":1384,"children":1385},{},[1386],{"type":57,"value":44},{"type":51,"tag":1131,"props":1388,"children":1389},{},[1390],{"type":51,"tag":100,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":57,"value":1395},"object_playground\u002Fsources\u002Fplayground.move",{"type":51,"tag":1099,"props":1397,"children":1398},{},[1399,1404,1413,1417],{"type":51,"tag":1131,"props":1400,"children":1401},{},[1402],{"type":57,"value":1403},"Composable NFTs",{"type":51,"tag":1131,"props":1405,"children":1406},{},[1407],{"type":51,"tag":100,"props":1408,"children":1410},{"className":1409},[],[1411],{"type":57,"value":1412},"composable-nfts",{"type":51,"tag":1131,"props":1414,"children":1415},{},[1416],{"type":57,"value":45},{"type":51,"tag":1131,"props":1418,"children":1419},{},[1420],{"type":51,"tag":100,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":57,"value":1425},"snippets\u002Fcomposable-nfts\u002F",{"type":51,"tag":1099,"props":1427,"children":1428},{},[1429,1434,1443,1447],{"type":51,"tag":1131,"props":1430,"children":1431},{},[1432],{"type":57,"value":1433},"FA Lockup\u002FEscrow",{"type":51,"tag":1131,"props":1435,"children":1436},{},[1437],{"type":51,"tag":100,"props":1438,"children":1440},{"className":1439},[],[1441],{"type":57,"value":1442},"fa-lockup-example",{"type":51,"tag":1131,"props":1444,"children":1445},{},[1446],{"type":57,"value":45},{"type":51,"tag":1131,"props":1448,"children":1449},{},[1450],{"type":51,"tag":100,"props":1451,"children":1453},{"className":1452},[],[1454],{"type":57,"value":1455},"snippets\u002Ffa-lockup-example\u002F",{"type":51,"tag":1099,"props":1457,"children":1458},{},[1459,1464,1473,1477],{"type":51,"tag":1131,"props":1460,"children":1461},{},[1462],{"type":57,"value":1463},"Design Patterns",{"type":51,"tag":1131,"props":1465,"children":1466},{},[1467],{"type":51,"tag":100,"props":1468,"children":1470},{"className":1469},[],[1471],{"type":57,"value":1472},"design-patterns",{"type":51,"tag":1131,"props":1474,"children":1475},{},[1476],{"type":57,"value":45},{"type":51,"tag":1131,"props":1478,"children":1479},{},[1480],{"type":51,"tag":100,"props":1481,"children":1483},{"className":1482},[],[1484],{"type":57,"value":1485},"snippets\u002Fdesign-patterns\u002F",{"type":51,"tag":1099,"props":1487,"children":1488},{},[1489,1494,1503,1507],{"type":51,"tag":1131,"props":1490,"children":1491},{},[1492],{"type":57,"value":1493},"Move 2 Features",{"type":51,"tag":1131,"props":1495,"children":1496},{},[1497],{"type":51,"tag":100,"props":1498,"children":1500},{"className":1499},[],[1501],{"type":57,"value":1502},"move-2",{"type":51,"tag":1131,"props":1504,"children":1505},{},[1506],{"type":57,"value":45},{"type":51,"tag":1131,"props":1508,"children":1509},{},[1510],{"type":51,"tag":100,"props":1511,"children":1513},{"className":1512},[],[1514],{"type":57,"value":1515},"snippets\u002Fmove-2\u002F",{"type":51,"tag":1099,"props":1517,"children":1518},{},[1519,1524,1533,1537],{"type":51,"tag":1131,"props":1520,"children":1521},{},[1522],{"type":57,"value":1523},"Data Structures",{"type":51,"tag":1131,"props":1525,"children":1526},{},[1527],{"type":51,"tag":100,"props":1528,"children":1530},{"className":1529},[],[1531],{"type":57,"value":1532},"data-structures",{"type":51,"tag":1131,"props":1534,"children":1535},{},[1536],{"type":57,"value":45},{"type":51,"tag":1131,"props":1538,"children":1539},{},[1540],{"type":51,"tag":100,"props":1541,"children":1543},{"className":1542},[],[1544],{"type":57,"value":1545},"snippets\u002Fdata-structures\u002F",{"type":51,"tag":1099,"props":1547,"children":1548},{},[1549,1554,1563,1567],{"type":51,"tag":1131,"props":1550,"children":1551},{},[1552],{"type":57,"value":1553},"Storage Patterns",{"type":51,"tag":1131,"props":1555,"children":1556},{},[1557],{"type":51,"tag":100,"props":1558,"children":1560},{"className":1559},[],[1561],{"type":57,"value":1562},"storage",{"type":51,"tag":1131,"props":1564,"children":1565},{},[1566],{"type":57,"value":45},{"type":51,"tag":1131,"props":1568,"children":1569},{},[1570],{"type":51,"tag":100,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":57,"value":1575},"snippets\u002Fstorage\u002F",{"type":51,"tag":1099,"props":1577,"children":1578},{},[1579,1584,1593,1597],{"type":51,"tag":1131,"props":1580,"children":1581},{},[1582],{"type":57,"value":1583},"Loot Box Patterns",{"type":51,"tag":1131,"props":1585,"children":1586},{},[1587],{"type":51,"tag":100,"props":1588,"children":1590},{"className":1589},[],[1591],{"type":57,"value":1592},"lootbox",{"type":51,"tag":1131,"props":1594,"children":1595},{},[1596],{"type":57,"value":45},{"type":51,"tag":1131,"props":1598,"children":1599},{},[1600],{"type":51,"tag":100,"props":1601,"children":1603},{"className":1602},[],[1604],{"type":57,"value":1605},"snippets\u002Flootbox\u002F",{"type":51,"tag":60,"props":1607,"children":1609},{"id":1608},"how-to-access-examples",[1610],{"type":57,"value":1611},"How to Access Examples",{"type":51,"tag":129,"props":1613,"children":1615},{"id":1614},"option-1-github-web-interface",[1616],{"type":57,"value":1617},"Option 1: GitHub Web Interface",{"type":51,"tag":1619,"props":1620,"children":1624},"pre",{"className":1621,"code":1623,"language":57},[1622],"language-text","https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core\u002Ftree\u002Fmain\u002Faptos-move\u002Fmove-examples\n",[1625],{"type":51,"tag":100,"props":1626,"children":1628},{"__ignoreMap":1627},"",[1629],{"type":57,"value":1623},{"type":51,"tag":67,"props":1631,"children":1632},{},[1633],{"type":57,"value":1634},"Browse online and read source files directly.",{"type":51,"tag":129,"props":1636,"children":1638},{"id":1637},"option-2-clone-repository-recommended",[1639],{"type":57,"value":1640},"Option 2: Clone Repository (Recommended)",{"type":51,"tag":1619,"props":1642,"children":1646},{"className":1643,"code":1644,"language":1645,"meta":1627,"style":1627},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Clone Aptos core\ngit clone https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core.git\n\n# Navigate to examples\ncd aptos-core\u002Faptos-move\u002Fmove-examples\n\n# List all examples\nls -la\n\n# View specific example\ncd token_objects\ncat sources\u002Ftoken.move\n","bash",[1647],{"type":51,"tag":100,"props":1648,"children":1649},{"__ignoreMap":1627},[1650,1662,1683,1693,1702,1717,1725,1734,1747,1755,1764,1777],{"type":51,"tag":1651,"props":1652,"children":1655},"span",{"class":1653,"line":1654},"line",1,[1656],{"type":51,"tag":1651,"props":1657,"children":1659},{"style":1658},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1660],{"type":57,"value":1661},"# Clone Aptos core\n",{"type":51,"tag":1651,"props":1663,"children":1665},{"class":1653,"line":1664},2,[1666,1672,1678],{"type":51,"tag":1651,"props":1667,"children":1669},{"style":1668},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1670],{"type":57,"value":1671},"git",{"type":51,"tag":1651,"props":1673,"children":1675},{"style":1674},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1676],{"type":57,"value":1677}," clone",{"type":51,"tag":1651,"props":1679,"children":1680},{"style":1674},[1681],{"type":57,"value":1682}," https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core.git\n",{"type":51,"tag":1651,"props":1684,"children":1686},{"class":1653,"line":1685},3,[1687],{"type":51,"tag":1651,"props":1688,"children":1690},{"emptyLinePlaceholder":1689},true,[1691],{"type":57,"value":1692},"\n",{"type":51,"tag":1651,"props":1694,"children":1696},{"class":1653,"line":1695},4,[1697],{"type":51,"tag":1651,"props":1698,"children":1699},{"style":1658},[1700],{"type":57,"value":1701},"# Navigate to examples\n",{"type":51,"tag":1651,"props":1703,"children":1705},{"class":1653,"line":1704},5,[1706,1712],{"type":51,"tag":1651,"props":1707,"children":1709},{"style":1708},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1710],{"type":57,"value":1711},"cd",{"type":51,"tag":1651,"props":1713,"children":1714},{"style":1674},[1715],{"type":57,"value":1716}," aptos-core\u002Faptos-move\u002Fmove-examples\n",{"type":51,"tag":1651,"props":1718,"children":1720},{"class":1653,"line":1719},6,[1721],{"type":51,"tag":1651,"props":1722,"children":1723},{"emptyLinePlaceholder":1689},[1724],{"type":57,"value":1692},{"type":51,"tag":1651,"props":1726,"children":1728},{"class":1653,"line":1727},7,[1729],{"type":51,"tag":1651,"props":1730,"children":1731},{"style":1658},[1732],{"type":57,"value":1733},"# List all examples\n",{"type":51,"tag":1651,"props":1735,"children":1736},{"class":1653,"line":27},[1737,1742],{"type":51,"tag":1651,"props":1738,"children":1739},{"style":1668},[1740],{"type":57,"value":1741},"ls",{"type":51,"tag":1651,"props":1743,"children":1744},{"style":1674},[1745],{"type":57,"value":1746}," -la\n",{"type":51,"tag":1651,"props":1748,"children":1750},{"class":1653,"line":1749},9,[1751],{"type":51,"tag":1651,"props":1752,"children":1753},{"emptyLinePlaceholder":1689},[1754],{"type":57,"value":1692},{"type":51,"tag":1651,"props":1756,"children":1758},{"class":1653,"line":1757},10,[1759],{"type":51,"tag":1651,"props":1760,"children":1761},{"style":1658},[1762],{"type":57,"value":1763},"# View specific example\n",{"type":51,"tag":1651,"props":1765,"children":1767},{"class":1653,"line":1766},11,[1768,1772],{"type":51,"tag":1651,"props":1769,"children":1770},{"style":1708},[1771],{"type":57,"value":1711},{"type":51,"tag":1651,"props":1773,"children":1774},{"style":1674},[1775],{"type":57,"value":1776}," token_objects\n",{"type":51,"tag":1651,"props":1778,"children":1780},{"class":1653,"line":1779},12,[1781,1786],{"type":51,"tag":1651,"props":1782,"children":1783},{"style":1668},[1784],{"type":57,"value":1785},"cat",{"type":51,"tag":1651,"props":1787,"children":1788},{"style":1674},[1789],{"type":57,"value":1790}," sources\u002Ftoken.move\n",{"type":51,"tag":129,"props":1792,"children":1794},{"id":1793},"option-3-daily-move-repository",[1795],{"type":57,"value":1796},"Option 3: daily-move Repository",{"type":51,"tag":67,"props":1798,"children":1799},{},[1800],{"type":51,"tag":73,"props":1801,"children":1802},{},[1803],{"type":57,"value":1804},"Browse online:",{"type":51,"tag":1619,"props":1806,"children":1809},{"className":1807,"code":1808,"language":57},[1622],"https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move\u002Ftree\u002Fmain\u002Fsnippets\n",[1810],{"type":51,"tag":100,"props":1811,"children":1812},{"__ignoreMap":1627},[1813],{"type":57,"value":1808},{"type":51,"tag":67,"props":1815,"children":1816},{},[1817],{"type":51,"tag":73,"props":1818,"children":1819},{},[1820],{"type":57,"value":1821},"Clone locally:",{"type":51,"tag":1619,"props":1823,"children":1825},{"className":1643,"code":1824,"language":1645,"meta":1627,"style":1627},"git clone https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move.git\ncd daily-move\u002Fsnippets\nls -la\n",[1826],{"type":51,"tag":100,"props":1827,"children":1828},{"__ignoreMap":1627},[1829,1845,1857],{"type":51,"tag":1651,"props":1830,"children":1831},{"class":1653,"line":1654},[1832,1836,1840],{"type":51,"tag":1651,"props":1833,"children":1834},{"style":1668},[1835],{"type":57,"value":1671},{"type":51,"tag":1651,"props":1837,"children":1838},{"style":1674},[1839],{"type":57,"value":1677},{"type":51,"tag":1651,"props":1841,"children":1842},{"style":1674},[1843],{"type":57,"value":1844}," https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move.git\n",{"type":51,"tag":1651,"props":1846,"children":1847},{"class":1653,"line":1664},[1848,1852],{"type":51,"tag":1651,"props":1849,"children":1850},{"style":1708},[1851],{"type":57,"value":1711},{"type":51,"tag":1651,"props":1853,"children":1854},{"style":1674},[1855],{"type":57,"value":1856}," daily-move\u002Fsnippets\n",{"type":51,"tag":1651,"props":1858,"children":1859},{"class":1653,"line":1685},[1860,1864],{"type":51,"tag":1651,"props":1861,"children":1862},{"style":1668},[1863],{"type":57,"value":1741},{"type":51,"tag":1651,"props":1865,"children":1866},{"style":1674},[1867],{"type":57,"value":1746},{"type":51,"tag":129,"props":1869,"children":1871},{"id":1870},"option-4-search-aptos-documentation",[1872],{"type":57,"value":1873},"Option 4: Search Aptos Documentation",{"type":51,"tag":1619,"props":1875,"children":1878},{"className":1876,"code":1877,"language":57},[1622],"https:\u002F\u002Faptos.dev\u002Fbuild\u002Fsmart-contracts\n",[1879],{"type":51,"tag":100,"props":1880,"children":1881},{"__ignoreMap":1627},[1882],{"type":57,"value":1877},{"type":51,"tag":67,"props":1884,"children":1885},{},[1886],{"type":57,"value":1887},"Many examples are documented with explanations.",{"type":51,"tag":60,"props":1889,"children":1891},{"id":1890},"common-patterns-from-examples",[1892],{"type":57,"value":1893},"Common Patterns from Examples",{"type":51,"tag":129,"props":1895,"children":1897},{"id":1896},"pattern-1-object-creation-from-token_objects",[1898],{"type":57,"value":1899},"Pattern 1: Object Creation (from token_objects)",{"type":51,"tag":1619,"props":1901,"children":1904},{"className":1902,"code":1903,"language":39,"meta":1627,"style":1627},"language-move shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F From: token_objects\u002Fsources\u002Ftoken.move\npublic entry fun create_token(\n    creator: &signer,\n    collection_name: String,\n    description: String,\n    name: String,\n    uri: String,\n) {\n    let constructor_ref = token::create_named_token(\n        creator,\n        collection_name,\n        description,\n        name,\n        option::none(),\n        uri,\n    );\n    \u002F\u002F ... additional setup\n}\n",[1905],{"type":51,"tag":100,"props":1906,"children":1907},{"__ignoreMap":1627},[1908,1916,1924,1932,1940,1948,1956,1964,1972,1980,1988,1996,2004,2013,2022,2031,2040,2049],{"type":51,"tag":1651,"props":1909,"children":1910},{"class":1653,"line":1654},[1911],{"type":51,"tag":1651,"props":1912,"children":1913},{},[1914],{"type":57,"value":1915},"\u002F\u002F From: token_objects\u002Fsources\u002Ftoken.move\n",{"type":51,"tag":1651,"props":1917,"children":1918},{"class":1653,"line":1664},[1919],{"type":51,"tag":1651,"props":1920,"children":1921},{},[1922],{"type":57,"value":1923},"public entry fun create_token(\n",{"type":51,"tag":1651,"props":1925,"children":1926},{"class":1653,"line":1685},[1927],{"type":51,"tag":1651,"props":1928,"children":1929},{},[1930],{"type":57,"value":1931},"    creator: &signer,\n",{"type":51,"tag":1651,"props":1933,"children":1934},{"class":1653,"line":1695},[1935],{"type":51,"tag":1651,"props":1936,"children":1937},{},[1938],{"type":57,"value":1939},"    collection_name: String,\n",{"type":51,"tag":1651,"props":1941,"children":1942},{"class":1653,"line":1704},[1943],{"type":51,"tag":1651,"props":1944,"children":1945},{},[1946],{"type":57,"value":1947},"    description: String,\n",{"type":51,"tag":1651,"props":1949,"children":1950},{"class":1653,"line":1719},[1951],{"type":51,"tag":1651,"props":1952,"children":1953},{},[1954],{"type":57,"value":1955},"    name: String,\n",{"type":51,"tag":1651,"props":1957,"children":1958},{"class":1653,"line":1727},[1959],{"type":51,"tag":1651,"props":1960,"children":1961},{},[1962],{"type":57,"value":1963},"    uri: String,\n",{"type":51,"tag":1651,"props":1965,"children":1966},{"class":1653,"line":27},[1967],{"type":51,"tag":1651,"props":1968,"children":1969},{},[1970],{"type":57,"value":1971},") {\n",{"type":51,"tag":1651,"props":1973,"children":1974},{"class":1653,"line":1749},[1975],{"type":51,"tag":1651,"props":1976,"children":1977},{},[1978],{"type":57,"value":1979},"    let constructor_ref = token::create_named_token(\n",{"type":51,"tag":1651,"props":1981,"children":1982},{"class":1653,"line":1757},[1983],{"type":51,"tag":1651,"props":1984,"children":1985},{},[1986],{"type":57,"value":1987},"        creator,\n",{"type":51,"tag":1651,"props":1989,"children":1990},{"class":1653,"line":1766},[1991],{"type":51,"tag":1651,"props":1992,"children":1993},{},[1994],{"type":57,"value":1995},"        collection_name,\n",{"type":51,"tag":1651,"props":1997,"children":1998},{"class":1653,"line":1779},[1999],{"type":51,"tag":1651,"props":2000,"children":2001},{},[2002],{"type":57,"value":2003},"        description,\n",{"type":51,"tag":1651,"props":2005,"children":2007},{"class":1653,"line":2006},13,[2008],{"type":51,"tag":1651,"props":2009,"children":2010},{},[2011],{"type":57,"value":2012},"        name,\n",{"type":51,"tag":1651,"props":2014,"children":2016},{"class":1653,"line":2015},14,[2017],{"type":51,"tag":1651,"props":2018,"children":2019},{},[2020],{"type":57,"value":2021},"        option::none(),\n",{"type":51,"tag":1651,"props":2023,"children":2025},{"class":1653,"line":2024},15,[2026],{"type":51,"tag":1651,"props":2027,"children":2028},{},[2029],{"type":57,"value":2030},"        uri,\n",{"type":51,"tag":1651,"props":2032,"children":2034},{"class":1653,"line":2033},16,[2035],{"type":51,"tag":1651,"props":2036,"children":2037},{},[2038],{"type":57,"value":2039},"    );\n",{"type":51,"tag":1651,"props":2041,"children":2043},{"class":1653,"line":2042},17,[2044],{"type":51,"tag":1651,"props":2045,"children":2046},{},[2047],{"type":57,"value":2048},"    \u002F\u002F ... additional setup\n",{"type":51,"tag":1651,"props":2050,"children":2051},{"class":1653,"line":23},[2052],{"type":51,"tag":1651,"props":2053,"children":2054},{},[2055],{"type":57,"value":2056},"}\n",{"type":51,"tag":67,"props":2058,"children":2059},{},[2060,2065],{"type":51,"tag":73,"props":2061,"children":2062},{},[2063],{"type":57,"value":2064},"Takeaway:",{"type":57,"value":2066}," Use named tokens for collections, create_object for unique items.",{"type":51,"tag":129,"props":2068,"children":2070},{"id":2069},"pattern-2-access-control-from-dao",[2071],{"type":57,"value":2072},"Pattern 2: Access Control (from dao)",{"type":51,"tag":1619,"props":2074,"children":2076},{"className":1902,"code":2075,"language":39,"meta":1627,"style":1627},"\u002F\u002F From: dao\u002Fsources\u002Fdao.move\npublic entry fun execute_proposal(\n    proposer: &signer,\n    proposal_id: u64\n) acquires DAO, Proposal {\n    let dao = borrow_global_mut\u003CDAO>(@dao_addr);\n    let proposal = vector::borrow_mut(&mut dao.proposals, proposal_id);\n\n    \u002F\u002F Verify proposal passed\n    assert!(proposal.votes_for > proposal.votes_against, E_PROPOSAL_NOT_PASSED);\n\n    \u002F\u002F Execute actions\n    \u002F\u002F ...\n}\n",[2077],{"type":51,"tag":100,"props":2078,"children":2079},{"__ignoreMap":1627},[2080,2088,2096,2104,2112,2120,2128,2136,2143,2151,2159,2166,2174,2182],{"type":51,"tag":1651,"props":2081,"children":2082},{"class":1653,"line":1654},[2083],{"type":51,"tag":1651,"props":2084,"children":2085},{},[2086],{"type":57,"value":2087},"\u002F\u002F From: dao\u002Fsources\u002Fdao.move\n",{"type":51,"tag":1651,"props":2089,"children":2090},{"class":1653,"line":1664},[2091],{"type":51,"tag":1651,"props":2092,"children":2093},{},[2094],{"type":57,"value":2095},"public entry fun execute_proposal(\n",{"type":51,"tag":1651,"props":2097,"children":2098},{"class":1653,"line":1685},[2099],{"type":51,"tag":1651,"props":2100,"children":2101},{},[2102],{"type":57,"value":2103},"    proposer: &signer,\n",{"type":51,"tag":1651,"props":2105,"children":2106},{"class":1653,"line":1695},[2107],{"type":51,"tag":1651,"props":2108,"children":2109},{},[2110],{"type":57,"value":2111},"    proposal_id: u64\n",{"type":51,"tag":1651,"props":2113,"children":2114},{"class":1653,"line":1704},[2115],{"type":51,"tag":1651,"props":2116,"children":2117},{},[2118],{"type":57,"value":2119},") acquires DAO, Proposal {\n",{"type":51,"tag":1651,"props":2121,"children":2122},{"class":1653,"line":1719},[2123],{"type":51,"tag":1651,"props":2124,"children":2125},{},[2126],{"type":57,"value":2127},"    let dao = borrow_global_mut\u003CDAO>(@dao_addr);\n",{"type":51,"tag":1651,"props":2129,"children":2130},{"class":1653,"line":1727},[2131],{"type":51,"tag":1651,"props":2132,"children":2133},{},[2134],{"type":57,"value":2135},"    let proposal = vector::borrow_mut(&mut dao.proposals, proposal_id);\n",{"type":51,"tag":1651,"props":2137,"children":2138},{"class":1653,"line":27},[2139],{"type":51,"tag":1651,"props":2140,"children":2141},{"emptyLinePlaceholder":1689},[2142],{"type":57,"value":1692},{"type":51,"tag":1651,"props":2144,"children":2145},{"class":1653,"line":1749},[2146],{"type":51,"tag":1651,"props":2147,"children":2148},{},[2149],{"type":57,"value":2150},"    \u002F\u002F Verify proposal passed\n",{"type":51,"tag":1651,"props":2152,"children":2153},{"class":1653,"line":1757},[2154],{"type":51,"tag":1651,"props":2155,"children":2156},{},[2157],{"type":57,"value":2158},"    assert!(proposal.votes_for > proposal.votes_against, E_PROPOSAL_NOT_PASSED);\n",{"type":51,"tag":1651,"props":2160,"children":2161},{"class":1653,"line":1766},[2162],{"type":51,"tag":1651,"props":2163,"children":2164},{"emptyLinePlaceholder":1689},[2165],{"type":57,"value":1692},{"type":51,"tag":1651,"props":2167,"children":2168},{"class":1653,"line":1779},[2169],{"type":51,"tag":1651,"props":2170,"children":2171},{},[2172],{"type":57,"value":2173},"    \u002F\u002F Execute actions\n",{"type":51,"tag":1651,"props":2175,"children":2176},{"class":1653,"line":2006},[2177],{"type":51,"tag":1651,"props":2178,"children":2179},{},[2180],{"type":57,"value":2181},"    \u002F\u002F ...\n",{"type":51,"tag":1651,"props":2183,"children":2184},{"class":1653,"line":2015},[2185],{"type":51,"tag":1651,"props":2186,"children":2187},{},[2188],{"type":57,"value":2056},{"type":51,"tag":67,"props":2190,"children":2191},{},[2192,2196],{"type":51,"tag":73,"props":2193,"children":2194},{},[2195],{"type":57,"value":2064},{"type":57,"value":2197}," Verify state conditions before executing critical operations.",{"type":51,"tag":129,"props":2199,"children":2201},{"id":2200},"pattern-3-transfer-control-from-fungible_asset",[2202],{"type":57,"value":2203},"Pattern 3: Transfer Control (from fungible_asset)",{"type":51,"tag":1619,"props":2205,"children":2207},{"className":1902,"code":2206,"language":39,"meta":1627,"style":1627},"\u002F\u002F From: fungible_asset\u002Fsources\u002Ffungible_asset.move\npublic fun transfer\u003CT: key>(\n    from: &signer,\n    to: address,\n    amount: u64\n) acquires FungibleStore {\n    \u002F\u002F Verify sender has sufficient balance\n    let from_store = borrow_global_mut\u003CFungibleStore\u003CT>>(signer::address_of(from));\n    assert!(from_store.balance >= amount, E_INSUFFICIENT_BALANCE);\n\n    \u002F\u002F Deduct from sender\n    from_store.balance = from_store.balance - amount;\n\n    \u002F\u002F Add to recipient\n    let to_store = borrow_global_mut\u003CFungibleStore\u003CT>>(to);\n    to_store.balance = to_store.balance + amount;\n}\n",[2208],{"type":51,"tag":100,"props":2209,"children":2210},{"__ignoreMap":1627},[2211,2219,2227,2235,2243,2251,2259,2267,2275,2283,2290,2298,2306,2313,2321,2329,2337],{"type":51,"tag":1651,"props":2212,"children":2213},{"class":1653,"line":1654},[2214],{"type":51,"tag":1651,"props":2215,"children":2216},{},[2217],{"type":57,"value":2218},"\u002F\u002F From: fungible_asset\u002Fsources\u002Ffungible_asset.move\n",{"type":51,"tag":1651,"props":2220,"children":2221},{"class":1653,"line":1664},[2222],{"type":51,"tag":1651,"props":2223,"children":2224},{},[2225],{"type":57,"value":2226},"public fun transfer\u003CT: key>(\n",{"type":51,"tag":1651,"props":2228,"children":2229},{"class":1653,"line":1685},[2230],{"type":51,"tag":1651,"props":2231,"children":2232},{},[2233],{"type":57,"value":2234},"    from: &signer,\n",{"type":51,"tag":1651,"props":2236,"children":2237},{"class":1653,"line":1695},[2238],{"type":51,"tag":1651,"props":2239,"children":2240},{},[2241],{"type":57,"value":2242},"    to: address,\n",{"type":51,"tag":1651,"props":2244,"children":2245},{"class":1653,"line":1704},[2246],{"type":51,"tag":1651,"props":2247,"children":2248},{},[2249],{"type":57,"value":2250},"    amount: u64\n",{"type":51,"tag":1651,"props":2252,"children":2253},{"class":1653,"line":1719},[2254],{"type":51,"tag":1651,"props":2255,"children":2256},{},[2257],{"type":57,"value":2258},") acquires FungibleStore {\n",{"type":51,"tag":1651,"props":2260,"children":2261},{"class":1653,"line":1727},[2262],{"type":51,"tag":1651,"props":2263,"children":2264},{},[2265],{"type":57,"value":2266},"    \u002F\u002F Verify sender has sufficient balance\n",{"type":51,"tag":1651,"props":2268,"children":2269},{"class":1653,"line":27},[2270],{"type":51,"tag":1651,"props":2271,"children":2272},{},[2273],{"type":57,"value":2274},"    let from_store = borrow_global_mut\u003CFungibleStore\u003CT>>(signer::address_of(from));\n",{"type":51,"tag":1651,"props":2276,"children":2277},{"class":1653,"line":1749},[2278],{"type":51,"tag":1651,"props":2279,"children":2280},{},[2281],{"type":57,"value":2282},"    assert!(from_store.balance >= amount, E_INSUFFICIENT_BALANCE);\n",{"type":51,"tag":1651,"props":2284,"children":2285},{"class":1653,"line":1757},[2286],{"type":51,"tag":1651,"props":2287,"children":2288},{"emptyLinePlaceholder":1689},[2289],{"type":57,"value":1692},{"type":51,"tag":1651,"props":2291,"children":2292},{"class":1653,"line":1766},[2293],{"type":51,"tag":1651,"props":2294,"children":2295},{},[2296],{"type":57,"value":2297},"    \u002F\u002F Deduct from sender\n",{"type":51,"tag":1651,"props":2299,"children":2300},{"class":1653,"line":1779},[2301],{"type":51,"tag":1651,"props":2302,"children":2303},{},[2304],{"type":57,"value":2305},"    from_store.balance = from_store.balance - amount;\n",{"type":51,"tag":1651,"props":2307,"children":2308},{"class":1653,"line":2006},[2309],{"type":51,"tag":1651,"props":2310,"children":2311},{"emptyLinePlaceholder":1689},[2312],{"type":57,"value":1692},{"type":51,"tag":1651,"props":2314,"children":2315},{"class":1653,"line":2015},[2316],{"type":51,"tag":1651,"props":2317,"children":2318},{},[2319],{"type":57,"value":2320},"    \u002F\u002F Add to recipient\n",{"type":51,"tag":1651,"props":2322,"children":2323},{"class":1653,"line":2024},[2324],{"type":51,"tag":1651,"props":2325,"children":2326},{},[2327],{"type":57,"value":2328},"    let to_store = borrow_global_mut\u003CFungibleStore\u003CT>>(to);\n",{"type":51,"tag":1651,"props":2330,"children":2331},{"class":1653,"line":2033},[2332],{"type":51,"tag":1651,"props":2333,"children":2334},{},[2335],{"type":57,"value":2336},"    to_store.balance = to_store.balance + amount;\n",{"type":51,"tag":1651,"props":2338,"children":2339},{"class":1653,"line":2042},[2340],{"type":51,"tag":1651,"props":2341,"children":2342},{},[2343],{"type":57,"value":2056},{"type":51,"tag":67,"props":2345,"children":2346},{},[2347,2351],{"type":51,"tag":73,"props":2348,"children":2349},{},[2350],{"type":57,"value":2064},{"type":57,"value":2352}," Check-effects-interactions pattern (verify, deduct, add).",{"type":51,"tag":60,"props":2354,"children":2356},{"id":2355},"always-rules",[2357],{"type":57,"value":2358},"ALWAYS Rules",{"type":51,"tag":89,"props":2360,"children":2361},{},[2362,2367,2372,2377,2382,2387,2392],{"type":51,"tag":93,"props":2363,"children":2364},{},[2365],{"type":57,"value":2366},"✅ ALWAYS search examples before writing new contracts",{"type":51,"tag":93,"props":2368,"children":2369},{},[2370],{"type":57,"value":2371},"✅ ALWAYS check both aptos-core (canonical) and daily-move (educational) repositories",{"type":51,"tag":93,"props":2373,"children":2374},{},[2375],{"type":57,"value":2376},"✅ ALWAYS understand patterns before copying",{"type":51,"tag":93,"props":2378,"children":2379},{},[2380],{"type":57,"value":2381},"✅ ALWAYS adapt patterns to your use case",{"type":51,"tag":93,"props":2383,"children":2384},{},[2385],{"type":57,"value":2386},"✅ ALWAYS maintain security checks from examples",{"type":51,"tag":93,"props":2388,"children":2389},{},[2390],{"type":57,"value":2391},"✅ ALWAYS reference which example you adapted from",{"type":51,"tag":93,"props":2393,"children":2394},{},[2395],{"type":57,"value":2396},"✅ ALWAYS test adapted code thoroughly",{"type":51,"tag":60,"props":2398,"children":2400},{"id":2399},"never-rules",[2401],{"type":57,"value":2402},"NEVER Rules",{"type":51,"tag":89,"props":2404,"children":2405},{},[2406,2411,2416,2421,2426,2431],{"type":51,"tag":93,"props":2407,"children":2408},{},[2409],{"type":57,"value":2410},"❌ NEVER copy code without understanding it",{"type":51,"tag":93,"props":2412,"children":2413},{},[2414],{"type":57,"value":2415},"❌ NEVER skip security checks from examples",{"type":51,"tag":93,"props":2417,"children":2418},{},[2419],{"type":57,"value":2420},"❌ NEVER use deprecated patterns (resource accounts, address-based)",{"type":51,"tag":93,"props":2422,"children":2423},{},[2424],{"type":57,"value":2425},"❌ NEVER assume examples are always up-to-date (verify against docs)",{"type":51,"tag":93,"props":2427,"children":2428},{},[2429],{"type":57,"value":2430},"❌ NEVER mix V1 and V2 patterns",{"type":51,"tag":93,"props":2432,"children":2433},{},[2434,2436,2442],{"type":57,"value":2435},"❌ NEVER include real private keys or credentials when adapting examples — use ",{"type":51,"tag":100,"props":2437,"children":2439},{"className":2438},[],[2440],{"type":57,"value":2441},"\"0x...\"",{"type":57,"value":2443}," placeholders",{"type":51,"tag":60,"props":2445,"children":2447},{"id":2446},"search-checklist",[2448],{"type":57,"value":2449},"Search Checklist",{"type":51,"tag":67,"props":2451,"children":2452},{},[2453],{"type":57,"value":2454},"Before writing contract code:",{"type":51,"tag":89,"props":2456,"children":2459},{"className":2457},[2458],"contains-task-list",[2460,2472,2481,2490,2499,2508,2517,2526,2535],{"type":51,"tag":93,"props":2461,"children":2464},{"className":2462},[2463],"task-list-item",[2465,2470],{"type":51,"tag":2466,"props":2467,"children":2469},"input",{"disabled":1689,"type":2468},"checkbox",[],{"type":57,"value":2471}," Identified category (NFT, DeFi, DAO, etc.)",{"type":51,"tag":93,"props":2473,"children":2475},{"className":2474},[2463],[2476,2479],{"type":51,"tag":2466,"props":2477,"children":2478},{"disabled":1689,"type":2468},[],{"type":57,"value":2480}," Found 2-3 relevant examples in aptos-core",{"type":51,"tag":93,"props":2482,"children":2484},{"className":2483},[2463],[2485,2488],{"type":51,"tag":2466,"props":2486,"children":2487},{"disabled":1689,"type":2468},[],{"type":57,"value":2489}," Checked daily-move snippets for educational examples",{"type":51,"tag":93,"props":2491,"children":2493},{"className":2492},[2463],[2494,2497],{"type":51,"tag":2466,"props":2495,"children":2496},{"disabled":1689,"type":2468},[],{"type":57,"value":2498}," Reviewed module structure",{"type":51,"tag":93,"props":2500,"children":2502},{"className":2501},[2463],[2503,2506],{"type":51,"tag":2466,"props":2504,"children":2505},{"disabled":1689,"type":2468},[],{"type":57,"value":2507}," Identified security patterns",{"type":51,"tag":93,"props":2509,"children":2511},{"className":2510},[2463],[2512,2515],{"type":51,"tag":2466,"props":2513,"children":2514},{"disabled":1689,"type":2468},[],{"type":57,"value":2516}," Understood object creation patterns",{"type":51,"tag":93,"props":2518,"children":2520},{"className":2519},[2463],[2521,2524],{"type":51,"tag":2466,"props":2522,"children":2523},{"disabled":1689,"type":2468},[],{"type":57,"value":2525}," Noted access control mechanisms",{"type":51,"tag":93,"props":2527,"children":2529},{"className":2528},[2463],[2530,2533],{"type":51,"tag":2466,"props":2531,"children":2532},{"disabled":1689,"type":2468},[],{"type":57,"value":2534}," Checked test patterns",{"type":51,"tag":93,"props":2536,"children":2538},{"className":2537},[2463],[2539,2542],{"type":51,"tag":2466,"props":2540,"children":2541},{"disabled":1689,"type":2468},[],{"type":57,"value":2543}," Ready to adapt to my use case",{"type":51,"tag":60,"props":2545,"children":2547},{"id":2546},"example-adaptation-workflow",[2548],{"type":57,"value":2549},"Example Adaptation Workflow",{"type":51,"tag":129,"props":2551,"children":2553},{"id":2552},"step-by-step-building-nft-collection",[2554],{"type":57,"value":2555},"Step-by-Step: Building NFT Collection",{"type":51,"tag":235,"props":2557,"children":2558},{},[2559,2576,2593,2648,2684],{"type":51,"tag":93,"props":2560,"children":2561},{},[2562,2567,2569,2574],{"type":51,"tag":73,"props":2563,"children":2564},{},[2565],{"type":57,"value":2566},"Search:",{"type":57,"value":2568}," Find ",{"type":51,"tag":100,"props":2570,"children":2572},{"className":2571},[],[2573],{"type":57,"value":1144},{"type":57,"value":2575}," example",{"type":51,"tag":93,"props":2577,"children":2578},{},[2579,2584],{"type":51,"tag":73,"props":2580,"children":2581},{},[2582],{"type":57,"value":2583},"Review Structure:",{"type":51,"tag":1619,"props":2585,"children":2588},{"className":2586,"code":2587,"language":57},[1622],"token_objects\u002F\n├── sources\u002F\n│   ├── collection.move  # Collection management\n│   ├── token.move       # Token operations\n│   └── property_map.move # Metadata handling\n└── tests\u002F\n    └── token_tests.move\n",[2589],{"type":51,"tag":100,"props":2590,"children":2591},{"__ignoreMap":1627},[2592],{"type":57,"value":2587},{"type":51,"tag":93,"props":2594,"children":2595},{},[2596,2601],{"type":51,"tag":73,"props":2597,"children":2598},{},[2599],{"type":57,"value":2600},"Identify Key Patterns:",{"type":51,"tag":89,"props":2602,"children":2603},{},[2604,2615,2626,2637],{"type":51,"tag":93,"props":2605,"children":2606},{},[2607,2609],{"type":57,"value":2608},"Collection creation with ",{"type":51,"tag":100,"props":2610,"children":2612},{"className":2611},[],[2613],{"type":57,"value":2614},"create_collection",{"type":51,"tag":93,"props":2616,"children":2617},{},[2618,2620],{"type":57,"value":2619},"Token minting with ",{"type":51,"tag":100,"props":2621,"children":2623},{"className":2622},[],[2624],{"type":57,"value":2625},"create_named_token",{"type":51,"tag":93,"props":2627,"children":2628},{},[2629,2631],{"type":57,"value":2630},"Metadata storage using ",{"type":51,"tag":100,"props":2632,"children":2634},{"className":2633},[],[2635],{"type":57,"value":2636},"PropertyMap",{"type":51,"tag":93,"props":2638,"children":2639},{},[2640,2642],{"type":57,"value":2641},"Transfer control with ",{"type":51,"tag":100,"props":2643,"children":2645},{"className":2644},[],[2646],{"type":57,"value":2647},"TransferRef",{"type":51,"tag":93,"props":2649,"children":2650},{},[2651,2656],{"type":51,"tag":73,"props":2652,"children":2653},{},[2654],{"type":57,"value":2655},"Adapt to Your Needs:",{"type":51,"tag":89,"props":2657,"children":2658},{},[2659,2664,2669,2674,2679],{"type":51,"tag":93,"props":2660,"children":2661},{},[2662],{"type":57,"value":2663},"Keep object creation pattern",{"type":51,"tag":93,"props":2665,"children":2666},{},[2667],{"type":57,"value":2668},"Keep security checks",{"type":51,"tag":93,"props":2670,"children":2671},{},[2672],{"type":57,"value":2673},"Add your custom fields",{"type":51,"tag":93,"props":2675,"children":2676},{},[2677],{"type":57,"value":2678},"Add your business logic",{"type":51,"tag":93,"props":2680,"children":2681},{},[2682],{"type":57,"value":2683},"Write comprehensive tests",{"type":51,"tag":93,"props":2685,"children":2686},{},[2687,2692],{"type":51,"tag":73,"props":2688,"children":2689},{},[2690],{"type":57,"value":2691},"Reference in Code:",{"type":51,"tag":1619,"props":2693,"children":2695},{"className":1902,"code":2694,"language":39,"meta":1627,"style":1627},"\u002F\u002F Adapted from: aptos-core\u002Fmove-examples\u002Ftoken_objects\nmodule my_addr::custom_nft {\n    \u002F\u002F ... your implementation\n}\n",[2696],{"type":51,"tag":100,"props":2697,"children":2698},{"__ignoreMap":1627},[2699,2707,2715,2723],{"type":51,"tag":1651,"props":2700,"children":2701},{"class":1653,"line":1654},[2702],{"type":51,"tag":1651,"props":2703,"children":2704},{},[2705],{"type":57,"value":2706},"\u002F\u002F Adapted from: aptos-core\u002Fmove-examples\u002Ftoken_objects\n",{"type":51,"tag":1651,"props":2708,"children":2709},{"class":1653,"line":1664},[2710],{"type":51,"tag":1651,"props":2711,"children":2712},{},[2713],{"type":57,"value":2714},"module my_addr::custom_nft {\n",{"type":51,"tag":1651,"props":2716,"children":2717},{"class":1653,"line":1685},[2718],{"type":51,"tag":1651,"props":2719,"children":2720},{},[2721],{"type":57,"value":2722},"    \u002F\u002F ... your implementation\n",{"type":51,"tag":1651,"props":2724,"children":2725},{"class":1653,"line":1695},[2726],{"type":51,"tag":1651,"props":2727,"children":2728},{},[2729],{"type":57,"value":2056},{"type":51,"tag":60,"props":2731,"children":2733},{"id":2732},"references",[2734],{"type":57,"value":2735},"References",{"type":51,"tag":67,"props":2737,"children":2738},{},[2739],{"type":51,"tag":73,"props":2740,"children":2741},{},[2742],{"type":57,"value":2743},"Official Examples:",{"type":51,"tag":89,"props":2745,"children":2746},{},[2747,2760,2771],{"type":51,"tag":93,"props":2748,"children":2749},{},[2750,2752],{"type":57,"value":2751},"aptos-core: ",{"type":51,"tag":2753,"props":2754,"children":2758},"a",{"href":2755,"rel":2756},"https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-core\u002Ftree\u002Fmain\u002Faptos-move\u002Fmove-examples",[2757],"nofollow",[2759],{"type":57,"value":2755},{"type":51,"tag":93,"props":2761,"children":2762},{},[2763,2765],{"type":57,"value":2764},"daily-move: ",{"type":51,"tag":2753,"props":2766,"children":2769},{"href":2767,"rel":2768},"https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Fdaily-move\u002Ftree\u002Fmain\u002Fsnippets",[2757],[2770],{"type":57,"value":2767},{"type":51,"tag":93,"props":2772,"children":2773},{},[2774,2776],{"type":57,"value":2775},"Documentation: ",{"type":51,"tag":2753,"props":2777,"children":2780},{"href":2778,"rel":2779},"https:\u002F\u002Faptos.dev\u002Fbuild\u002Fsmart-contracts",[2757],[2781],{"type":57,"value":2778},{"type":51,"tag":67,"props":2783,"children":2784},{},[2785],{"type":51,"tag":73,"props":2786,"children":2787},{},[2788],{"type":57,"value":2789},"Related Skills:",{"type":51,"tag":89,"props":2791,"children":2792},{},[2793,2804,2815],{"type":51,"tag":93,"props":2794,"children":2795},{},[2796,2802],{"type":51,"tag":100,"props":2797,"children":2799},{"className":2798},[],[2800],{"type":57,"value":2801},"write-contracts",{"type":57,"value":2803}," - Apply patterns after searching",{"type":51,"tag":93,"props":2805,"children":2806},{},[2807,2813],{"type":51,"tag":100,"props":2808,"children":2810},{"className":2809},[],[2811],{"type":57,"value":2812},"security-audit",{"type":57,"value":2814}," - Verify security of adapted code",{"type":51,"tag":93,"props":2816,"children":2817},{},[2818,2824],{"type":51,"tag":100,"props":2819,"children":2821},{"className":2820},[],[2822],{"type":57,"value":2823},"generate-tests",{"type":57,"value":2825}," - Test adapted patterns",{"type":51,"tag":2827,"props":2828,"children":2829},"hr",{},[],{"type":51,"tag":67,"props":2831,"children":2832},{},[2833,2838],{"type":51,"tag":73,"props":2834,"children":2835},{},[2836],{"type":57,"value":2837},"Remember:",{"type":57,"value":2839}," Search examples first. Understand patterns. Adapt securely. Test thoroughly.",{"type":51,"tag":2841,"props":2842,"children":2843},"style",{},[2844],{"type":57,"value":2845},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2847,"total":2042},[2848,2862,2881,2895,2908,2922,2928],{"slug":2849,"name":2849,"fn":2850,"description":2851,"org":2852,"tags":2853,"stars":23,"repoUrl":24,"updatedAt":2861},"analyze-gas-optimization","optimize Aptos Move contracts for gas","Analyze and optimize Aptos Move contracts for gas efficiency, identifying expensive operations and suggesting optimizations. Triggers on: 'optimize gas', 'reduce gas costs', 'gas analysis', 'make contract cheaper', 'gas efficiency', 'analyze gas usage', 'reduce transaction costs'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2854,2855,2858],{"name":14,"slug":15,"type":16},{"name":2856,"slug":2857,"type":16},"Performance","performance",{"name":2859,"slug":2860,"type":16},"Smart Contracts","smart-contracts","2026-07-12T08:07:14.117466",{"slug":2863,"name":2863,"fn":2864,"description":2865,"org":2866,"tags":2867,"stars":23,"repoUrl":24,"updatedAt":2880},"create-aptos-project","scaffold new Aptos dApp projects","Scaffolds new Aptos projects using npx create-aptos-dapp. Supports fullstack (Vite or Next.js) and contract-only templates with network selection and optional API key. Triggers on: 'build app', 'create app', 'make app', 'new app', 'build dApp', 'create dApp', 'new dApp', 'build project', 'new project', 'create project', 'scaffold', 'start project', 'set up project', 'build me a', 'I want to build', 'make me a', 'help me build'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2868,2871,2874,2877],{"name":2869,"slug":2870,"type":16},"Next.js","next-js",{"name":2872,"slug":2873,"type":16},"TypeScript","typescript",{"name":2875,"slug":2876,"type":16},"Vite","vite",{"name":2878,"slug":2879,"type":16},"Web3","web3","2026-07-12T08:07:30.595111",{"slug":2882,"name":2882,"fn":2883,"description":2884,"org":2885,"tags":2886,"stars":23,"repoUrl":24,"updatedAt":2894},"deploy-contracts","deploy Move contracts to Aptos networks","Safely deploys Move contracts to Aptos networks (devnet, testnet, mainnet) with pre-deployment verification. Triggers on: 'deploy contract', 'publish to testnet', 'deploy to mainnet', 'how to deploy', 'publish module', 'deployment checklist', 'deploy to devnet'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2887,2890,2893],{"name":2888,"slug":2889,"type":16},"Deployment","deployment",{"name":2891,"slug":2892,"type":16},"Engineering","engineering",{"name":2859,"slug":2860,"type":16},"2026-07-12T08:07:16.798352",{"slug":2823,"name":2823,"fn":2896,"description":2897,"org":2898,"tags":2899,"stars":23,"repoUrl":24,"updatedAt":2907},"generate test suites for Move contracts","Creates comprehensive test suites for Move contracts with 100% coverage requirement. Triggers on: 'generate tests', 'create tests', 'write test suite', 'test this contract', 'how to test', 'add test coverage', 'write unit tests'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2900,2901,2904],{"name":2891,"slug":2892,"type":16},{"name":2902,"slug":2903,"type":16},"QA","qa",{"name":2905,"slug":2906,"type":16},"Testing","testing","2026-07-12T08:07:18.0205",{"slug":2909,"name":2909,"fn":2910,"description":2911,"org":2912,"tags":2913,"stars":23,"repoUrl":24,"updatedAt":2921},"modernize-move","modernize Move V1 contracts to V2","Detects and modernizes outdated Move V1 syntax, patterns, and APIs to Move V2+. Use when upgrading legacy contracts, migrating to modern syntax, or converting old patterns to current best practices. NOT for writing new contracts (use write-contracts) or fixing bugs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2914,2917,2918],{"name":2915,"slug":2916,"type":16},"Code Analysis","code-analysis",{"name":2891,"slug":2892,"type":16},{"name":2919,"slug":2920,"type":16},"Migration","migration","2026-07-12T08:07:10.226223",{"slug":4,"name":4,"fn":5,"description":6,"org":2923,"tags":2924,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2925,2926,2927],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"slug":2812,"name":2812,"fn":2929,"description":2930,"org":2931,"tags":2932,"stars":23,"repoUrl":24,"updatedAt":2941},"audit Move smart contracts for security","Audits Move contracts for security vulnerabilities before deployment using 7-category checklist. Triggers on: 'audit contract', 'security check', 'review security', 'check for vulnerabilities', 'security audit', 'is this secure', 'find security issues'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2933,2936,2937,2940],{"name":2934,"slug":2935,"type":16},"Audit","audit",{"name":2915,"slug":2916,"type":16},{"name":2938,"slug":2939,"type":16},"Security","security",{"name":2859,"slug":2860,"type":16},"2026-07-12T08:07:11.680215",{"items":2943,"total":3047},[2944,2950,2957,2963,2969,2975,2981,2988,3002,3017,3027,3037],{"slug":2849,"name":2849,"fn":2850,"description":2851,"org":2945,"tags":2946,"stars":23,"repoUrl":24,"updatedAt":2861},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2947,2948,2949],{"name":14,"slug":15,"type":16},{"name":2856,"slug":2857,"type":16},{"name":2859,"slug":2860,"type":16},{"slug":2863,"name":2863,"fn":2864,"description":2865,"org":2951,"tags":2952,"stars":23,"repoUrl":24,"updatedAt":2880},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2953,2954,2955,2956],{"name":2869,"slug":2870,"type":16},{"name":2872,"slug":2873,"type":16},{"name":2875,"slug":2876,"type":16},{"name":2878,"slug":2879,"type":16},{"slug":2882,"name":2882,"fn":2883,"description":2884,"org":2958,"tags":2959,"stars":23,"repoUrl":24,"updatedAt":2894},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2960,2961,2962],{"name":2888,"slug":2889,"type":16},{"name":2891,"slug":2892,"type":16},{"name":2859,"slug":2860,"type":16},{"slug":2823,"name":2823,"fn":2896,"description":2897,"org":2964,"tags":2965,"stars":23,"repoUrl":24,"updatedAt":2907},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2966,2967,2968],{"name":2891,"slug":2892,"type":16},{"name":2902,"slug":2903,"type":16},{"name":2905,"slug":2906,"type":16},{"slug":2909,"name":2909,"fn":2910,"description":2911,"org":2970,"tags":2971,"stars":23,"repoUrl":24,"updatedAt":2921},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2972,2973,2974],{"name":2915,"slug":2916,"type":16},{"name":2891,"slug":2892,"type":16},{"name":2919,"slug":2920,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":2976,"tags":2977,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2978,2979,2980],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"slug":2812,"name":2812,"fn":2929,"description":2930,"org":2982,"tags":2983,"stars":23,"repoUrl":24,"updatedAt":2941},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2984,2985,2986,2987],{"name":2934,"slug":2935,"type":16},{"name":2915,"slug":2916,"type":16},{"name":2938,"slug":2939,"type":16},{"name":2859,"slug":2860,"type":16},{"slug":2989,"name":2989,"fn":2990,"description":2991,"org":2992,"tags":2993,"stars":23,"repoUrl":24,"updatedAt":3001},"smoothsend-gasless","sponsor gas fees for Aptos dApps","How to sponsor gas fees for Aptos dApp users using SmoothSend. Paid commercial service: free on testnet, credit-based on mainnet. Covers 3-line wallet adapter integration (transactionSubmitter), Script Composer for fee-in-token stablecoin transfers. Triggers on: 'gasless', 'sponsor gas', 'users pay no APT', 'transactionSubmitter', 'SmoothSend', 'fee payer', 'pay gas for users', 'no gas required'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2994,2997,3000],{"name":2995,"slug":2996,"type":16},"API Development","api-development",{"name":2998,"slug":2999,"type":16},"Payments","payments",{"name":2878,"slug":2879,"type":16},"2026-07-12T08:07:31.843242",{"slug":3003,"name":3003,"fn":3004,"description":3005,"org":3006,"tags":3007,"stars":23,"repoUrl":24,"updatedAt":3016},"ts-sdk-account","manage Aptos accounts with TS SDK","How to create and use Account (signer) in @aptos-labs\u002Fts-sdk. Covers Account.generate(), fromPrivateKey(), fromDerivationPath(), Ed25519 vs SingleKey vs MultiKey vs Keyless, serialization (fromHex\u002FtoHex). Triggers on: 'Account.generate', 'Account.fromPrivateKey', 'Ed25519PrivateKey', 'SDK account', 'mnemonic', 'SingleKeyAccount', 'KeylessAccount'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3008,3011,3012,3015],{"name":3009,"slug":3010,"type":16},"Auth","auth",{"name":14,"slug":15,"type":16},{"name":3013,"slug":3014,"type":16},"SDK","sdk",{"name":2872,"slug":2873,"type":16},"2026-07-12T08:07:29.297415",{"slug":3018,"name":3018,"fn":3019,"description":3020,"org":3021,"tags":3022,"stars":23,"repoUrl":24,"updatedAt":3026},"ts-sdk-address","manage AccountAddress in Aptos TypeScript SDK","How to create and use AccountAddress in @aptos-labs\u002Fts-sdk. Covers address format (AIP-40), from\u002FfromString\u002FfromStrict, special addresses, LONG vs SHORT form, and derived addresses (object, resource, token, user-derived). Triggers on: 'AccountAddress', 'AccountAddress.from', 'AIP-40', 'derived address', 'createObjectAddress', 'createResourceAddress', 'createTokenAddress'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3023,3024,3025],{"name":14,"slug":15,"type":16},{"name":3013,"slug":3014,"type":16},{"name":2872,"slug":2873,"type":16},"2026-07-12T08:07:26.430378",{"slug":3028,"name":3028,"fn":3029,"description":3030,"org":3031,"tags":3032,"stars":23,"repoUrl":24,"updatedAt":3036},"ts-sdk-client","configure Aptos SDK clients","How to create and configure the Aptos client (Aptos, AptosConfig) in @aptos-labs\u002Fts-sdk. Covers Network, fullnode\u002Findexer\u002Ffaucet URLs, singleton pattern, and Bun compatibility. Triggers on: 'Aptos client', 'AptosConfig', 'SDK client', 'client setup', 'new Aptos(', 'Network.TESTNET', 'Network.MAINNET'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3033,3034,3035],{"name":2995,"slug":2996,"type":16},{"name":3013,"slug":3014,"type":16},{"name":2872,"slug":2873,"type":16},"2026-07-12T08:07:21.933342",{"slug":3038,"name":3038,"fn":3039,"description":3040,"org":3041,"tags":3042,"stars":23,"repoUrl":24,"updatedAt":3046},"ts-sdk-transactions","manage Aptos blockchain transactions","How to build, sign, submit, and simulate transactions in @aptos-labs\u002Fts-sdk. Covers build.simple(), signAndSubmitTransaction(), waitForTransaction(), simulate, sponsored (fee payer), and multi-agent. Triggers on: 'build.simple', 'signAndSubmitTransaction', 'transaction.build', 'waitForTransaction', 'signAsFeePayer', 'SDK transaction', 'sponsored transaction', 'multi-agent transaction'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3043,3044,3045],{"name":2995,"slug":2996,"type":16},{"name":2872,"slug":2873,"type":16},{"name":2878,"slug":2879,"type":16},"2026-07-12T08:07:23.774257",24]