(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2970],{7423:function(s,e,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/bcs",function(){return n(7058)}])},127:function(s,e,n){"use strict";var o=n(7458);let r={logo:(0,o.jsx)("span",{children:"Sui TypeScript Docs"}),project:{link:"https://github.com/MystenLabs/sui/tree/main/sdk/"},chat:{link:"https://discord.com/invite/Sui"},docsRepositoryBase:"https://github.com/MystenLabs/sui/tree/main/sdk/docs/pages",footer:{text:"Copyright \xa9 2023, Mysten Labs, Inc."},useNextSeoProps:()=>({titleTemplate:"%s"})};e.Z=r},7058:function(s,e,n){"use strict";n.r(e);var o=n(7458),r=n(3043),l=n(142),i=n(127);n(7957);var t=n(1351);n(5284);var c=n(6405);let a={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.ah)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/bcs/index.mdx",route:"/bcs",headings:[{depth:1,value:"BCS - Binary Canonical Serialization",id:"bcs---binary-canonical-serialization"},{depth:2,value:"Install",id:"install"},{depth:2,value:"Quickstart",id:"quickstart"},{depth:2,value:"Description",id:"description"},{depth:2,value:"Basic types",id:"basic-types"},{depth:2,value:"Compound types",id:"compound-types"},{depth:2,value:"Generics",id:"generics"},{depth:2,value:"Transforms",id:"transforms"},{depth:2,value:"Formats for serialized bytes",id:"formats-for-serialized-bytes"},{depth:2,value:"Inferring types",id:"inferring-types"}],pageMap:[{kind:"Meta",data:{typescript:{title:"TypeScript SDK",type:"page"},"dapp-kit":{title:"dApp Kit",type:"page"},kiosk:{title:"Kiosk SDK",type:"page"},bcs:{title:"BCS",type:"page"},"wallet-kit":{title:"Wallet Kit",type:"page"}}},{kind:"Folder",name:"bcs",route:"/bcs",children:[{kind:"Meta",data:{index:"@mysten/bcs"}},{kind:"MdxPage",name:"index",route:"/bcs"}]},{kind:"Folder",name:"dapp-kit",route:"/dapp-kit",children:[{kind:"Meta",data:{index:"Sui dApp Kit Quick Start","create-dapp":"@mysten/create-dapp","sui-client-provider":"SuiClientProvider","rpc-hooks":"RPC Hooks","wallet-provider":"WalletProvider","wallet-components":"Wallet Components","wallet-hooks":"Wallet Hooks",themes:"Themes"}},{kind:"MdxPage",name:"create-dapp",route:"/dapp-kit/create-dapp"},{kind:"MdxPage",name:"index",route:"/dapp-kit"},{kind:"MdxPage",name:"rpc-hooks",route:"/dapp-kit/rpc-hooks"},{kind:"MdxPage",name:"sui-client-provider",route:"/dapp-kit/sui-client-provider"},{kind:"MdxPage",name:"themes",route:"/dapp-kit/themes"},{kind:"Folder",name:"wallet-components",route:"/dapp-kit/wallet-components",children:[{kind:"MdxPage",name:"ConnectButton",route:"/dapp-kit/wallet-components/ConnectButton"},{kind:"MdxPage",name:"ConnectModal",route:"/dapp-kit/wallet-components/ConnectModal"},{kind:"Meta",data:{ConnectButton:"ConnectButton",ConnectModal:"ConnectModal"}}]},{kind:"Folder",name:"wallet-hooks",route:"/dapp-kit/wallet-hooks",children:[{kind:"Meta",data:{useWallets:"useWallets",useAccounts:"useAccounts",useCurrentWallet:"useCurrentWallet",useCurrentAccount:"useCurrentAccount",useAutoConnectWallet:"useAutoConnectWallet",useConnectWallet:"useConnectWallet",useDisconnectWallet:"useDisconnectWallet",useSwitchAccount:"useSwitchAccount",useSignPersonalMessage:"useSignPersonalMessage",useSignTransactionBlock:"useSignTransactionBlock",useSignAndExecuteTransactionBlock:"useSignAndExecuteTransactionBlock"}},{kind:"MdxPage",name:"useAccounts",route:"/dapp-kit/wallet-hooks/useAccounts"},{kind:"MdxPage",name:"useAutoConnectWallet",route:"/dapp-kit/wallet-hooks/useAutoConnectWallet"},{kind:"MdxPage",name:"useConnectWallet",route:"/dapp-kit/wallet-hooks/useConnectWallet"},{kind:"MdxPage",name:"useCurrentAccount",route:"/dapp-kit/wallet-hooks/useCurrentAccount"},{kind:"MdxPage",name:"useCurrentWallet",route:"/dapp-kit/wallet-hooks/useCurrentWallet"},{kind:"MdxPage",name:"useDisconnectWallet",route:"/dapp-kit/wallet-hooks/useDisconnectWallet"},{kind:"MdxPage",name:"useSignAndExecuteTransactionBlock",route:"/dapp-kit/wallet-hooks/useSignAndExecuteTransactionBlock"},{kind:"MdxPage",name:"useSignPersonalMessage",route:"/dapp-kit/wallet-hooks/useSignPersonalMessage"},{kind:"MdxPage",name:"useSignTransactionBlock",route:"/dapp-kit/wallet-hooks/useSignTransactionBlock"},{kind:"MdxPage",name:"useSwitchAccount",route:"/dapp-kit/wallet-hooks/useSwitchAccount"},{kind:"MdxPage",name:"useWallets",route:"/dapp-kit/wallet-hooks/useWallets"}]},{kind:"MdxPage",name:"wallet-provider",route:"/dapp-kit/wallet-provider"}]},{kind:"Folder",name:"kiosk",route:"/kiosk",children:[{kind:"Meta",data:{index:"Introduction","kiosk-client":"Kiosk Client","advanced-examples":"Advanced Examples","from-v1":"Migrating to 0.7.0"}},{kind:"MdxPage",name:"advanced-examples",route:"/kiosk/advanced-examples"},{kind:"MdxPage",name:"from-v1",route:"/kiosk/from-v1"},{kind:"MdxPage",name:"index",route:"/kiosk"},{kind:"Folder",name:"kiosk-client",route:"/kiosk/kiosk-client",children:[{kind:"Meta",data:{introduction:"Getting Started",querying:"Querying","kiosk-transaction":"Kiosk Transaction","transfer-policy-transaction":"Transfer Policy Transaction"}},{kind:"MdxPage",name:"introduction",route:"/kiosk/kiosk-client/introduction"},{kind:"Folder",name:"kiosk-transaction",route:"/kiosk/kiosk-client/kiosk-transaction",children:[{kind:"Meta",data:{"kiosk-transaction":"Initializing a Kiosk Transaction",managing:"Available functions to manage a kiosk",purchasing:"Purchasing from a Kiosk",examples:"Examples"}},{kind:"MdxPage",name:"examples",route:"/kiosk/kiosk-client/kiosk-transaction/examples"},{kind:"MdxPage",name:"kiosk-transaction",route:"/kiosk/kiosk-client/kiosk-transaction/kiosk-transaction"},{kind:"MdxPage",name:"managing",route:"/kiosk/kiosk-client/kiosk-transaction/managing"},{kind:"MdxPage",name:"purchasing",route:"/kiosk/kiosk-client/kiosk-transaction/purchasing"}]},{kind:"MdxPage",name:"querying",route:"/kiosk/kiosk-client/querying"},{kind:"Folder",name:"transfer-policy-transaction",route:"/kiosk/kiosk-client/transfer-policy-transaction",children:[{kind:"Meta",data:{introduction:"Getting Started","using-the-manager":"Supported Functionality"}},{kind:"MdxPage",name:"introduction",route:"/kiosk/kiosk-client/transfer-policy-transaction/introduction"},{kind:"MdxPage",name:"using-the-manager",route:"/kiosk/kiosk-client/transfer-policy-transaction/using-the-manager"}]}]}]},{kind:"Folder",name:"typescript",route:"/typescript",children:[{kind:"Meta",data:{index:"Sui TypeScript SDK Quick Start",install:"Install","hello-sui":"Hello, Sui",faucet:"Faucet","sui-client":"SuiClient","transaction-building":"Transaction Building",cryptography:"Cryptography",utils:"Utils",bcs:"BCS",zklogin:"Zklogin"}},{kind:"MdxPage",name:"bcs",route:"/typescript/bcs"},{kind:"Folder",name:"cryptography",route:"/typescript/cryptography",children:[{kind:"Meta",data:{keypairs:"Key pairs",multisig:"Multi-Signature Transactions"}},{kind:"MdxPage",name:"keypairs",route:"/typescript/cryptography/keypairs"},{kind:"MdxPage",name:"multisig",route:"/typescript/cryptography/multisig"}]},{kind:"MdxPage",name:"faucet",route:"/typescript/faucet"},{kind:"MdxPage",name:"hello-sui",route:"/typescript/hello-sui"},{kind:"MdxPage",name:"index",route:"/typescript"},{kind:"MdxPage",name:"install",route:"/typescript/install"},{kind:"MdxPage",name:"sui-client",route:"/typescript/sui-client"},{kind:"Folder",name:"transaction-building",route:"/typescript/transaction-building",children:[{kind:"Meta",data:{basics:"Sui Programmable Transaction Blocks Basics",gas:"Paying for Sui Transactions with Gas Coins","sponsored-transactions":"Sponsored Transaction Blocks",offline:"Building Offline"}},{kind:"MdxPage",name:"basics",route:"/typescript/transaction-building/basics"},{kind:"MdxPage",name:"gas",route:"/typescript/transaction-building/gas"},{kind:"MdxPage",name:"offline",route:"/typescript/transaction-building/offline"},{kind:"MdxPage",name:"sponsored-transactions",route:"/typescript/transaction-building/sponsored-transactions"}]},{kind:"MdxPage",name:"utils",route:"/typescript/utils"},{kind:"MdxPage",name:"zklogin",route:"/typescript/zklogin"}]},{kind:"Folder",name:"wallet-kit",route:"/wallet-kit",children:[{kind:"Meta",data:{index:"Introduction","getting-started":"Getting Started",docs:"API",advanced:"Advanced"}},{kind:"Folder",name:"advanced",route:"/wallet-kit/advanced",children:[{kind:"MdxPage",name:"programmatic-connection",route:"/wallet-kit/advanced/programmatic-connection"},{kind:"MdxPage",name:"wallet-kit-core",route:"/wallet-kit/advanced/wallet-kit-core"},{kind:"Meta",data:{"programmatic-connection":"Programmatic Connection","wallet-kit-core":"Wallet Kit Core"}}]},{kind:"MdxPage",name:"advanced",route:"/wallet-kit/advanced"},{kind:"Folder",name:"docs",route:"/wallet-kit/docs",children:[{kind:"Meta",data:{"wallet-kit-provider":"WalletKitProvider","connect-button":"ConnectButton","use-wallet-kit":"useWalletKit"}},{kind:"MdxPage",name:"connect-button",route:"/wallet-kit/docs/connect-button"},{kind:"MdxPage",name:"use-wallet-kit",route:"/wallet-kit/docs/use-wallet-kit"},{kind:"MdxPage",name:"wallet-kit-provider",route:"/wallet-kit/docs/wallet-kit-provider"}]},{kind:"MdxPage",name:"getting-started",route:"/wallet-kit/getting-started"},{kind:"MdxPage",name:"index",route:"/wallet-kit"}]}],flexsearch:{codeblocks:!0},title:"BCS - Binary Canonical Serialization"},pageNextRoute:"/bcs",nextraLayout:l.ZP,themeConfig:i.Z};function h(s){let e=Object.assign({h1:"h1",p:"p",a:"a",h2:"h2",code:"code",pre:"pre",span:"span",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td"},(0,t.ah)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"bcs---binary-canonical-serialization",children:"BCS - Binary Canonical Serialization"}),"\n",(0,o.jsxs)(e.p,{children:["This small and lightweight library implements\n",(0,o.jsx)(e.a,{href:"https://github.com/zefchain/bcs",children:"Binary Canonical Serialization (BCS)"})," in TypeScript, making BCS\navailable in both Browser and NodeJS environments in a type-safe way.`"]}),"\n",(0,o.jsx)(e.h2,{id:"install",children:"Install"}),"\n",(0,o.jsxs)(e.p,{children:["To install, add the ",(0,o.jsx)(e.a,{href:"https://www.npmjs.com/package/@mysten/bcs",children:(0,o.jsx)(e.code,{children:"@mysten/bcs"})})," package to your\nproject:"]}),"\n",(0,o.jsxs)(c.mQ,{items:["npm","pnpm","yarn"],storageKey:"selectedPackageManager",children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"sh","data-theme":"default",children:(0,o.jsx)(e.code,{"data-language":"sh","data-theme":"default",children:(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"@mysten/bcs"})]})})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"sh","data-theme":"default",children:(0,o.jsx)(e.code,{"data-language":"sh","data-theme":"default",children:(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pnpm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"add"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"@mysten/bcs"})]})})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"sh","data-theme":"default",children:(0,o.jsx)(e.code,{"data-language":"sh","data-theme":"default",children:(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"yarn"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"add"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"@mysten/bcs"})]})})})})]}),"\n",(0,o.jsx)(e.h2,{id:"quickstart",children:"Quickstart"}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { bcs } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'@mysten/bcs'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// define UID as a 32-byte array, then add a transform to/from hex strings"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"UID"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"32"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".transform"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"fromHex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(id)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (id) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"toHex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(id)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Coin"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'Coin'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"UID"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// deserialization: BCS bytes into Coin"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcsBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Coin"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'0000000000000000000000000000000000000000000000000000000000000001'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1000000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"n"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"coin"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Coin"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(bcsBytes);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// serialization: Object into bytes - an Option with <T = Coin>"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"hex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".option"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(Coin)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(coin)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toHex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(hex);"})]})]})}),"\n",(0,o.jsx)(e.h2,{id:"description",children:"Description"}),"\n",(0,o.jsxs)(e.p,{children:["BCS defines the way the data is serialized, and the serialized results contains no type information.\nTo be able to serialize the data and later deserialize it, a schema has to be created (based on the\nbuilt-in primitives, such as ",(0,o.jsx)(e.code,{children:"string"})," or ",(0,o.jsx)(e.code,{children:"u64"}),"). There are no type hints in the serialized bytes on\nwhat they mean, so the schema used for decoding must match the schema used to encode the data."]}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"@mysten/bcs"})," library can be used to define schemas that can serialize and deserialize BCS\nencoded data, and and can infer the correct TypeScript for the schema from the definitions\nthemselves rather than having to define them manually."]}),"\n",(0,o.jsx)(e.h2,{id:"basic-types",children:"Basic types"}),"\n",(0,o.jsx)(e.p,{children:"bcs supports a number of built in base types that can be combined to create more complex types. The\nfollowing table lists the primitive types available:"}),"\n",(0,o.jsxs)(e.table,{children:[(0,o.jsx)(e.thead,{children:(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.th,{children:"Method"}),(0,o.jsx)(e.th,{children:"TS Type"}),(0,o.jsx)(e.th,{children:"TS Input Type"}),(0,o.jsx)(e.th,{children:"Description"})]})}),(0,o.jsxs)(e.tbody,{children:[(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"bool"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"boolean"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"boolean"})}),(0,o.jsxs)(e.td,{children:["Boolean type (converts to ",(0,o.jsx)(e.code,{children:"true"})," / ",(0,o.jsx)(e.code,{children:"false"}),")"]})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsxs)(e.td,{children:[(0,o.jsx)(e.code,{children:"u8"}),", ",(0,o.jsx)(e.code,{children:"u16"}),", ",(0,o.jsx)(e.code,{children:"u32"})]}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"number"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"number"})}),(0,o.jsx)(e.td,{children:"Unsigned Integer types"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsxs)(e.td,{children:[(0,o.jsx)(e.code,{children:"u64"}),", ",(0,o.jsx)(e.code,{children:"u128"}),", ",(0,o.jsx)(e.code,{children:"u256"})]}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"string"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"number | string | bigint"})}),(0,o.jsxs)(e.td,{children:["Unsigned Integer types, decoded as ",(0,o.jsx)(e.code,{children:"string"})," to allow for JSON serialization"]})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"uleb128"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"number"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"number"})}),(0,o.jsx)(e.td,{children:"Unsigned LEB128 integer type"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"string"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"string"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"string"})}),(0,o.jsx)(e.td,{children:"UTF-8 encoded string"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"bytes(size)"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"Uint8Array"})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"Iterable<number>"})}),(0,o.jsx)(e.td,{children:"Fixed length bytes"})]})]})]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { bcs } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'@mysten/bcs'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Integers"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"u64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1000000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"n"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"u128"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u128"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'100000010000001000000'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Other types"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"str"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'this is an ascii string'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"hex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".hex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'C0FFEE'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Parsing data back into original types"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedU8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(u8);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// u64-u256 will be represented as bigints regardless of how they were provided when serializing them"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedU64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(u64);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedU128"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u128"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(u128);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedStr"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(str);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedHex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".hex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(hex);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(bytes);"})]})]})}),"\n",(0,o.jsx)(e.h2,{id:"compound-types",children:"Compound types"}),"\n",(0,o.jsxs)(e.p,{children:["For most use-cases you'll want to combine primitive types into more complex types like ",(0,o.jsx)(e.code,{children:"vectors"}),",\n",(0,o.jsx)(e.code,{children:"structs"})," and ",(0,o.jsx)(e.code,{children:"enums"}),". The following table lists methods available for creating compound types:"]}),"\n",(0,o.jsxs)(e.table,{children:[(0,o.jsx)(e.thead,{children:(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.th,{children:"Method"}),(0,o.jsx)(e.th,{children:"Description"})]})}),(0,o.jsxs)(e.tbody,{children:[(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"vector(type: T)"})}),(0,o.jsxs)(e.td,{children:["A variable length list of values of type ",(0,o.jsx)(e.code,{children:"T"})]})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"fixedArray(size, T)"})}),(0,o.jsxs)(e.td,{children:["A fixed length array of values of type ",(0,o.jsx)(e.code,{children:"T"})]})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"option(type: T)"})}),(0,o.jsxs)(e.td,{children:["A value of type ",(0,o.jsx)(e.code,{children:"T"})," or ",(0,o.jsx)(e.code,{children:"null"})]})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"enum(name, values)"})}),(0,o.jsx)(e.td,{children:"An enum value representing one of the provided values"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"struct(name, fields)"})}),(0,o.jsx)(e.td,{children:"A struct with named fields of the provided types"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"tuple(types)"})}),(0,o.jsx)(e.td,{children:"A tuple of the provided types"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.code,{children:"map(K, V)"})}),(0,o.jsxs)(e.td,{children:["A map of keys of type ",(0,o.jsx)(e.code,{children:"K"})," to values of type ",(0,o.jsx)(e.code,{children:"V"})]})]})]})]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { bcs } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'@mysten/bcs'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Vectors"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"intList"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".vector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stringList"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".vector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'a'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'b'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'c'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Arrays"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"intArray"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stringArray"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'a'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'b'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'c'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Option"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"option"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".option"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'some value'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"nullOption"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".option"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Enum"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".enum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'MyEnum'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	NoType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	Int"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	String"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	Array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"noTypeEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ NoType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"intEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ Int"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stringEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ String"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"arrayEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ Array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Struct"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'MyStruct'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	name"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" name"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'name'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Tuple"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"tuple"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".tuple"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'name'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Map"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()["})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'one'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'two'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]);"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Parsing data back into original types"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Vectors"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedIntList"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".vector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(intList);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedStringList"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".vector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stringList);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Arrays"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedIntArray"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(intArray);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Option"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedOption"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".option"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(option);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedNullOption"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".option"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(nullOption);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Enum"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedNoTypeEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(noTypeEnum);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedIntEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(intEnum);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedStringEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stringEnum);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedArrayEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(arrayEnum);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Struct"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(struct);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Tuple"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedTuple"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".tuple"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(tuple);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Map"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedMap"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(map);"})]})]})}),"\n",(0,o.jsx)(e.h2,{id:"generics",children:"Generics"}),"\n",(0,o.jsxs)(e.p,{children:["To define a generic struct or an enum, you can use ",(0,o.jsx)(e.code,{children:"bcs.generic"})," to create a generic type helper"]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Example: Generics"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { bcs } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'@mysten/bcs'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Container -> the name of the type"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// [T] -> A list of names for the generic types"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// The second argument is a function that takes the generic types as arguments and returns a bcs type"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Container"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".generic"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'T'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (T) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'Container<T>'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		contents"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	})"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// When serializing, we have to pass the type to use for `T`"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Container"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ contents"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Alternatively we can save the concrete type as a variable"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"U8Container"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Container"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"());"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"U8Container"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ contents"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Using multiple generics"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"VecMap"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".generic"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'K'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'V'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (K"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" V) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'VecMap<K, V>'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".vector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"K"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".vector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"V"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	})"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// To serialize VecMap, we can use:"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"VecMap"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'key1'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'key2'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'key3'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'value1'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'value2'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'value3'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	})"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]})]})}),"\n",(0,o.jsx)(e.h2,{id:"transforms",children:"Transforms"}),"\n",(0,o.jsxs)(e.p,{children:["If you the format you use in your code is different from the format expected for BCS serialization,\nyou can use the ",(0,o.jsx)(e.code,{children:"transform"})," API to map between the types you use in your application, and the types\nneeded for serialization."]}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"address"})," type used by Move code is a good example of this. In many cases, you'll want to\nrepresent an address as a hex string, but the BCS serialization format for addresses is a 32 byte\narray. To handle this, you can use the ",(0,o.jsx)(e.code,{children:"transform"})," API to map between the two formats:"]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Address"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"32"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".transform"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// To change the input type, you need to provide a type definition for the input"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (val"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"fromHEX"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(val)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (val) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"toHEX"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(val)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"serialized"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Address"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'0x000000...'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsed"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Address"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(serialized); "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// will return a hex string"})]})]})}),"\n",(0,o.jsxs)(e.p,{children:["When using a transform, a new type is created that uses the inferred return value of ",(0,o.jsx)(e.code,{children:"output"})," as the\nreturn type of the ",(0,o.jsx)(e.code,{children:"parse"})," method, and the type of the ",(0,o.jsx)(e.code,{children:"input"})," argument as the allowed input type\nwhen calling ",(0,o.jsx)(e.code,{children:"serialize"}),". The ",(0,o.jsx)(e.code,{children:"output"})," type can generally be inferred from the definition, but the\ninput type will need to be provided explicitly. In some cases, for complex transforms, you'll need\nto manually type the return"]}),"\n",(0,o.jsxs)(e.p,{children:["transforms can also handle more complex types. For instance, ",(0,o.jsx)(e.code,{children:"@mysten/sui.js"})," uses the following\ndefinition to transform enums into a more TypeScript friends format:"]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Merge"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"infer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"K"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"keyof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"K"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"never"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"EnumKindTransform"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"infer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Merge"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"keyof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"keyof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"keyof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"U"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"never"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"enumKind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"BcsType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".transform"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({ kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"val }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"EnumKindTransform"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"			({"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"				[kind]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" val"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"			}) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (val) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"			"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"key"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(val)["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"keyof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"			"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" key"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"val[key] } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"EnumKindTransform"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"enumKind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".enum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'MyEnum'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		A"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'A'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"			id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		})"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		B"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'B'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"			val"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"		})"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	})"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// Enums wrapped with enumKind flatten the enum variants and add a `kind` field to differentiate them"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"A"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'A'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"B"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'B'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" val"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'xyz'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"parsedA"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyEnum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"A"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns { kind: 'A', id: 1 }"})]})]})}),"\n",(0,o.jsx)(e.h2,{id:"formats-for-serialized-bytes",children:"Formats for serialized bytes"}),"\n",(0,o.jsxs)(e.p,{children:["When you call ",(0,o.jsx)(e.code,{children:"serialize"})," on a ",(0,o.jsx)(e.code,{children:"BcsType"}),", you will receive a ",(0,o.jsx)(e.code,{children:"SerializedBcs"})," instance. This wrapper\npreserves type information for the serialized bytes, and can be used to get raw data in various\nformats."]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" fromB58"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" fromB64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" fromHex } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'@mysten/bcs'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"serializedString"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".serialize"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'this is a string'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// SerializedBcs.toBytes() returns a Uint8Array"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Uint8Array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"serializedString"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBytes"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// You can get the serialized bytes encoded as hex, base64 or base58"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"hex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"serializedString"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toHex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"base64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcsWriter"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBase64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"base58"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcsWriter"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".toBase58"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// To parse a BCS value from bytes, the bytes need to be a Uint8Array"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"str1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(bytes);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// If your data is encoded as string, you need to convert it to Uint8Array first"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"str2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"fromHex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(hex));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"str3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"fromB64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base64));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"str4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".parse"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"fromB58"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base58));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".assert"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((str1 "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" str2) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (str3 "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" str4)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'Result is the same'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]})]})}),"\n",(0,o.jsx)(e.h2,{id:"inferring-types",children:"Inferring types"}),"\n",(0,o.jsxs)(e.p,{children:["BCS types have both a ",(0,o.jsx)(e.code,{children:"type"})," and an ",(0,o.jsx)(e.code,{children:"inputType"}),". For some types these are the same, but for others\n(like ",(0,o.jsx)(e.code,{children:"u64"}),") the types diverge slightly to make inputs more flexible. For instance, ",(0,o.jsx)(e.code,{children:"u64"})," will\nalways be ",(0,o.jsx)(e.code,{children:"string"})," for it's type, but can be a ",(0,o.jsx)(e.code,{children:"number"}),", ",(0,o.jsx)(e.code,{children:"string"})," or ",(0,o.jsx)(e.code,{children:"bigint"})," for it's input type."]}),"\n",(0,o.jsxs)(e.p,{children:["You can infer these types in one of 2 ways, either using the ",(0,o.jsx)(e.code,{children:"$inferType"})," and ",(0,o.jsx)(e.code,{children:"$inferInput"}),"\nproperties on a ",(0,o.jsx)(e.code,{children:"BcsType"}),", or using the ",(0,o.jsx)(e.code,{children:"InferBcsType"})," and ",(0,o.jsx)(e.code,{children:"InferBcsInput"})," type helpers."]}),"\n",(0,o.jsx)(e.pre,{"data-language":"ts","data-theme":"default",children:(0,o.jsxs)(e.code,{"data-language":"ts","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" InferBcsType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" InferBcsInput } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'@mysten/bcs'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".struct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'MyStruct'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".u64"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"	name"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bcs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// using the $inferType and $inferInput properties"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MyStructType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".$inferType; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// { id: string; name: string; }"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MyStructInput"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"MyStruct"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".$inferInput; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// { id: number | string | bigint; name: string; }"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// using the InferBcsType and InferBcsInput type helpers"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MyStructType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"InferBcsType"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" MyStruct>; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// { id: string; name: string; }"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MyStructInput"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"InferBcsInput"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" MyStruct>; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// { id: number | string | bigint; name: string; }"})]})]})})]})}e.default=(0,r.j)(a)}},function(s){s.O(0,[9774,5533,2888,179],function(){return s(s.s=7423)}),_N_E=s.O()}]);