import { domain, signOrder, SigningScheme, Order, OrderKind } from "@cowprotocol/contracts";import { ethers } from "ethers";const settlementDomain = domain(1, "0x9008D19f58AAbD9eD0D60971565AA8510560ab41");const wallet = new ethers.Wallet("YOUR_PRIVATE_KEY");const order: Order = { // ... order fields kind: OrderKind.SELL, partiallyFillable: false,};// EIP-712 signing (recommended)const signature = await signOrder( settlementDomain, order, wallet, SigningScheme.EIP712);
EIP-712 is the recommended signing scheme for optimal user experience, as it shows users a structured representation of the order data in their wallet.
Last modified on March 4, 2026
Was this page helpful?
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"CoW DAO Documentation","description":"Documentation for CoW Protocol, CoW AMM, and CoW DAO — the most user-protective trading protocol on Ethereum.","colors":{"primary":"#012F7A","light":"#3F80FF","dark":"#012F7A"},"logo":{"light":"https://mintcdn.com/cowswap/eI7SJtCRQaJAMfZg/images/cow-logo.svg?fit=max\u0026auto=format\u0026n=eI7SJtCRQaJAMfZg\u0026q=85\u0026s=ad3ebf82be1922533f9c85c89d92f35b","dark":"https://mintcdn.com/cowswap/eI7SJtCRQaJAMfZg/images/cow-logo-dark.svg?fit=max\u0026auto=format\u0026n=eI7SJtCRQaJAMfZg\u0026q=85\u0026s=ed24d2d3cf4a87aaa8684d19d1f5d415"},"favicon":"/images/cow-dao-favicon.png","background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://github.com/cowprotocol","type":"github"},{"href":"https://discord.com/invite/cowprotocol","type":"discord"}],"primary":{"type":"button","label":"Launch CoW Swap","href":"https://swap.cow.fi"}},"footer":{"socials":{"github":"https://github.com/cowprotocol","x":"https://twitter.com/CoWSwap","discord":"https://discord.com/invite/cowprotocol"},"links":[{"header":"Products","items":[{"label":"CoW Swap","href":"https://swap.cow.fi"},{"label":"CoW Explorer","href":"https://explorer.cow.fi"},{"label":"CoW AMM","href":"https://cow.fi/cow-amm"},{"label":"MEV Blocker","href":"https://mevblocker.io"}]},{"header":"Community","items":[{"label":"Discord","href":"https://discord.com/invite/cowprotocol"},{"label":"Forum","href":"https://forum.cow.fi"},{"label":"Grants","href":"https://grants.cow.fi"},{"label":"Twitter / X","href":"https://twitter.com/CoWSwap"}]},{"header":"Developers","items":[{"label":"GitHub","href":"https://github.com/cowprotocol"},{"label":"SDK","href":"/cow-sdk/quickstart"},{"label":"API Reference","href":"/cow-protocol/reference/apis/orderbook"},{"label":"Contracts","href":"/cow-protocol/reference/contracts/core"}]}]},"search":{"prompt":"Search docs..."},"fonts":{"heading":{"family":"Studio Feixen Sans","weight":700,"source":"fonts/StudioFeixenSans-Bold.woff2","format":"woff2"},"body":{"family":"Studio Feixen Sans","weight":500,"source":"fonts/StudioFeixenSans-Medium.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","claude","chatgpt","perplexity","cursor","mcp"],"display":"toc"},"interaction":{"drilldown":true},"metadata":{"timestamp":true},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/"},{"anchor":"Launch CoW Swap","icon":"arrow-right-arrow-left","href":"https://swap.cow.fi"},{"anchor":"Changelog","icon":"clock-rotate-left","href":"/changelog"},{"anchor":"About These Docs","icon":"book","href":"/about-these-docs"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cowswap","hasAudioNarration":false,"actualSubdomain":"cowswap","customDomains":["docs.cow.bleu.builders"],"gitSource":{"type":"github","owner":"bleu","repo":"cow-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21da7f6513352c9695d45f","collectionId":"90e519a4-1f14-48a7-9a45-87233f43d183","schemaVersion":"v2"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a21da7f6513352c9695d45f:success","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Contracts","count":139},{"language":"default","tag":"CoW Protocol","count":86},{"language":"default","tag":"Backend","count":74},{"language":"default","tag":"API Reference","count":72},{"language":"default","tag":"TypeScript SDK","count":41},{"language":"default","tag":"Contracts SDK","count":39},{"language":"default","tag":"Composable CoW","count":36},{"language":"default","tag":"Watch Tower","count":29},{"language":"default","tag":"BFF","count":27},{"language":"default","tag":"Python SDK","count":23}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"#search-bar-entry{min-width:0;width:auto;max-width:16rem}#assistant-entry>span:last-child,#search-bar-entry>span:last-child{white-space:nowrap;flex-shrink:0}#search-bar-entry>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n){scrollbar-width:thin;scrollbar-color:rgba(1,47,122,.28) transparent}:where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n)::-webkit-scrollbar{height:10px}:where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n)::-webkit-scrollbar-track{background:0 0}:where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n)::-webkit-scrollbar-thumb{background-color:rgba(1,47,122,.28);border:2px solid transparent;border-radius:9999px;background-clip:padding-box}:where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n)::-webkit-scrollbar-thumb:hover{background-color:rgba(1,47,122,.4)}.dark :where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n){scrollbar-color:rgba(63,128,255,.42) transparent}.dark :where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n)::-webkit-scrollbar-thumb{background-color:rgba(63,128,255,.42)}.dark :where(.mdx-content, .api-section, main) :is(\n .overflow-x-auto,\n [data-component-part=\"tabs-list\"],\n [data-component-part=\"code-block-root\"],\n .code-block-background\n)::-webkit-scrollbar-thumb:hover{background-color:rgba(63,128,255,.56)}.dark :where(.mdx-content, .api-section, main) [data-component-part=code-block-root],.dark :where(.mdx-content, .api-section, main) pre.shiki,.dark :where(.mdx-content, .api-section, main) pre.shiki code,.dark :where(.mdx-content, .api-section, main) pre.shiki span{background-color:var(--shiki-dark-bg, #0b0c0e)!important}.dark :where(.mdx-content, .api-section, main) pre.shiki,.dark :where(.mdx-content, .api-section, main) pre.shiki code,.dark :where(.mdx-content, .api-section, main) pre.shiki span{color:var(--shiki-dark, inherit)!important;font-style:var(--shiki-dark-font-style, inherit)!important;font-weight:var(--shiki-dark-font-weight, inherit)!important;text-decoration:var(--shiki-dark-text-decoration, inherit)!important}.inline-resource,.inline-resource__link{display:inline-flex;max-width:100%;min-width:0}.inline-resource{align-items:center;column-gap:.28rem;flex-wrap:nowrap;vertical-align:middle}.inline-resource__link{color:inherit}.inline-resource__value{display:inline-block;line-height:1.45;max-width:100%;overflow-wrap:anywhere;vertical-align:middle;white-space:normal;word-break:break-word}.inline-resource__value--compact{max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-resource__actions{align-items:center;column-gap:.2rem;display:inline-flex;flex:0 0 auto}.inline-resource__action{align-items:center;background:0 0;border:0;border-radius:9999px;color:inherit;cursor:pointer;display:inline-flex;height:1.35rem;justify-content:center;opacity:.54;padding:0;text-decoration:none;transition:opacity 160ms ease,background-color 160ms ease,transform 160ms ease,color 160ms ease;width:1.35rem}.inline-resource__action:focus-visible,.inline-resource__action:hover{background:rgba(127,127,127,.08);opacity:1;outline:0}.inline-resource__icon{align-items:center;display:inline-flex;justify-content:center}.inline-resource__action[data-state=copied] .inline-resource__icon--copy,.inline-resource__icon--check{display:none}.inline-resource__action[data-state=copied]{color:#116329;opacity:1}.inline-resource__action[data-state=copied] .inline-resource__icon--check{display:inline-flex}@media (hover:hover) and (pointer:fine){.inline-resource__actions{opacity:0;transform:translateX(-.1rem);transition:opacity 160ms ease,transform 160ms ease}.inline-resource:focus-within .inline-resource__actions,.inline-resource:hover .inline-resource__actions{opacity:1;transform:translateX(0)}}.dark .inline-resource__action[data-state=copied]{color:#9ce89f}"}],"page":{"pagePath":"cow-contracts/api/ts/signing","slug":"/cow-contracts/api/ts/signing","pageMetadata":{"title":"Signing","description":"TypeScript signing module API for CoW Protocol order signatures","href":"/cow-contracts/api/ts/signing","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"TypeScript signing module API for CoW Protocol order signatures\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`signing`,children:`Signing`}),`\n`,_jsx(_components.p,{children:`The signing module provides utilities for various signature schemes used in CoW Protocol order signing.`}),`\n`,_jsx(Heading,{level:`2`,id:`signing-schemes`,children:`Signing Schemes`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`enum`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` EIP712`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` ETHSIGN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` EIP1271`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` PRESIGN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scheme`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`EIP712`})}),_jsx(_components.td,{children:`Recommended. Provides structured data to wallets about what is being signed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`ETHSIGN`})}),_jsxs(_components.td,{children:[`Uses the `,_jsx(_components.code,{children:`eth_sign`}),` RPC call for legacy wallet compatibility`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`EIP1271`})}),_jsx(_components.td,{children:`For smart contract wallets like Gnosis Safe`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`PRESIGN`})}),_jsx(_components.td,{children:`On-chain pre-authorization before settlement`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`signature-types`,children:`Signature Types`}),`\n`,_jsx(Heading,{level:`3`,id:`ecdsasignature`,children:`EcdsaSignature`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`interface`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` EcdsaSignature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` scheme`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`EIP712`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`ETHSIGN`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ECDSA signature (r, s, v)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`eip1271signature`,children:`Eip1271Signature`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`interface`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Eip1271Signature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` scheme`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`EIP1271`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` verifier`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Smart contract address`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Signature bytes`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`presignsignature`,children:`PreSignSignature`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`interface`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` PreSignSignature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` scheme`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`PRESIGN`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` signer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Signer address`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`functions`,children:`Functions`}),`\n`,_jsx(Heading,{level:`3`,id:`signorder`,children:`signOrder`}),`\n`,_jsx(_components.p,{children:`Signs orders using externally owned accounts with either EIP-712 or ETHSIGN schemes.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` signOrder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` domain`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` TypedDataDomain`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Order`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` signer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Signer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` scheme`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`EIP712`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`ETHSIGN`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Promise`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`EcdsaSignature`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>;`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`domain`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`TypedDataDomain`})}),_jsx(_components.td,{children:`EIP-712 domain separator`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Order`})}),_jsx(_components.td,{children:`Order to sign`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`signer`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Signer`})}),_jsx(_components.td,{children:`ethers.js Signer instance`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`scheme`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`SigningScheme`})}),_jsx(_components.td,{children:`EIP712 or ETHSIGN`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`encodeeip1271signaturedata`,children:`encodeEip1271SignatureData`}),`\n`,_jsx(_components.p,{children:`Encodes EIP-1271 signature components into hex format.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` encodeEip1271SignatureData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` verifier`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`decodeeip1271signaturedata`,children:`decodeEip1271SignatureData`}),`\n`,_jsx(_components.p,{children:`Reverses the encoding to retrieve original signature components.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` decodeEip1271SignatureData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`encodedSignature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` verifier`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`};`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`domain`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`signOrder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Order`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`OrderKind`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@cowprotocol/contracts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ethers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ethers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` settlementDomain`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` domain`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x9008D19f58AAbD9eD0D60971565AA8510560ab41\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` wallet`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ethers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Wallet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_PRIVATE_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ... order fields`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` kind:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` OrderKind`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`SELL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` partiallyFillable:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`};`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// EIP-712 signing (recommended)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` signOrder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` settlementDomain`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` order`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` wallet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` SigningScheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`EIP712`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`EIP-712 is the recommended signing scheme for optimal user experience, as it shows users a structured representation of the order data in their wallet.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Signing","description":"TypeScript signing module API for CoW Protocol order signatures","href":"/cow-contracts/api/ts/signing","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Signing","slug":"signing","depth":1,"children":[]},{"title":"Signing Schemes","slug":"signing-schemes","depth":2,"children":[]},{"title":"Signature Types","slug":"signature-types","depth":2,"children":[{"title":"EcdsaSignature","slug":"ecdsasignature","depth":3,"children":[]},{"title":"Eip1271Signature","slug":"eip1271signature","depth":3,"children":[]},{"title":"PreSignSignature","slug":"presignsignature","depth":3,"children":[]}]},{"title":"Functions","slug":"functions","depth":2,"children":[{"title":"signOrder","slug":"signorder","depth":3,"children":[]},{"title":"encodeEip1271SignatureData","slug":"encodeeip1271signaturedata","depth":3,"children":[]},{"title":"decodeEip1271SignatureData","slug":"decodeeip1271signaturedata","depth":3,"children":[]}]},{"title":"Example","slug":"example","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"cowswap","siteName":"CoW DAO Documentation","title":"Signing - CoW DAO Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-04T18:15:54.990Z","originalFileLocation":"cow-contracts/api/ts/signing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"TypeScript signing module API for CoW Protocol order signatures\">\u003cmeta data-mint-head name=\"application-name\" content=\"CoW DAO Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Signing - CoW DAO Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"TypeScript signing module API for CoW Protocol order signatures\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CoW DAO Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cowswap.mintlify.app/_mintlify/api/og/v2?division=API+-+TypeScript\u0026amp;title=Signing\u0026amp;description=TypeScript+signing+module+API+for+CoW+Protocol+order+signatures\u0026amp;theme=4da566029b310946c19d5a3d\u0026amp;signature=50fe0e7563a835bacbe5be66a0da070e58106c0040edfaf1fa2b584c4cc61ee1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Signing - CoW DAO Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"TypeScript signing module API for CoW Protocol order signatures\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cowswap.mintlify.app/_mintlify/api/og/v2?division=API+-+TypeScript\u0026amp;title=Signing\u0026amp;description=TypeScript+signing+module+API+for+CoW+Protocol+order+signatures\u0026amp;theme=4da566029b310946c19d5a3d\u0026amp;signature=50fe0e7563a835bacbe5be66a0da070e58106c0040edfaf1fa2b584c4cc61ee1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cowswap/nWKu9avl8veqtVHU/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CoW DAO Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#012F7A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cow-contracts/api/ts/signing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cow.bleu.builders/#organization\",\"name\":\"CoW DAO Documentation\",\"url\":\"https://docs.cow.bleu.builders\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cowswap/eI7SJtCRQaJAMfZg/images/cow-logo.svg?fit=max\u0026auto=format\u0026n=eI7SJtCRQaJAMfZg\u0026q=85\u0026s=ad3ebf82be1922533f9c85c89d92f35b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cow.bleu.builders#website\",\"name\":\"CoW DAO Documentation\",\"url\":\"https://docs.cow.bleu.builders\",\"publisher\":{\"@id\":\"https://docs.cow.bleu.builders/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing#webpage\",\"url\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing\",\"name\":\"Signing\",\"description\":\"TypeScript signing module API for CoW Protocol order signatures\",\"dateModified\":\"2026-03-04T18:15:54.990Z\",\"isPartOf\":{\"@id\":\"https://docs.cow.bleu.builders#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contracts SDK\",\"item\":\"https://docs.cow.bleu.builders/cow-contracts/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API - TypeScript\",\"item\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/domain\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Signing\",\"item\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing#article\",\"headline\":\"Signing\",\"name\":\"Signing\",\"description\":\"TypeScript signing module API for CoW Protocol order signatures\",\"url\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cow.bleu.builders/cow-contracts/api/ts/signing#webpage\"},\"dateModified\":\"2026-03-04T18:15:54.990Z\",\"publisher\":{\"@id\":\"https://docs.cow.bleu.builders/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cow.bleu.builders#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CoW DAO Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CoW DAO Documentation","nav":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/"},{"anchor":"Launch CoW Swap","icon":"arrow-right-arrow-left","href":"https://swap.cow.fi"},{"anchor":"Changelog","icon":"clock-rotate-left","href":"/changelog"},{"anchor":"About These Docs","icon":"book","href":"/about-these-docs"}]},"tabs":[{"tab":"CoW Swap","icon":"arrow-right-arrow-left","pages":[{"title":"CoW Swap","href":"/cow-swap/overview"}]},{"tab":"CoW Protocol","icon":"cow","pages":[{"title":"CoW Protocol","href":"/cow-protocol/overview"}]},{"tab":"Contracts","icon":"file-contract","groups":[{"group":"Contracts","icon":"file-contract","expanded":false,"pages":[{"group":"Core","pages":[{"title":"Core","href":"/cow-protocol/reference/contracts/core"},{"title":"GPv2Settlement","href":"/cow-protocol/reference/contracts/core/settlement"},{"title":"GPv2VaultRelayer","href":"/cow-protocol/reference/contracts/core/vault-relayer"},{"title":"GPv2AllowlistAuthentication","href":"/cow-protocol/reference/contracts/core/allowlist"}]},{"group":"Periphery","pages":[{"title":"Periphery","href":"/cow-protocol/reference/contracts/periphery"},{"title":"ComposableCoW","href":"/cow-protocol/reference/contracts/periphery/composable-cow"},{"title":"Eth-flow","href":"/cow-protocol/reference/contracts/periphery/eth-flow"},{"title":"HooksTrampoline","href":"/cow-protocol/reference/contracts/periphery/hooks-trampoline"},{"title":"CoWUidGenerator","href":"/cow-protocol/reference/contracts/periphery/cow-uid-generator"},{"title":"Flash Loans","href":"/cow-protocol/reference/contracts/periphery/flashloans"}]},{"title":"TWAP","href":"/cow-protocol/reference/contracts/programmatic/twap"}]},{"group":"Hooks Trampoline","icon":"hook","pages":[{"title":"Hooks Trampoline","href":"/hooks-trampoline/introduction"},{"title":"Installation","href":"/hooks-trampoline/installation"},{"title":"How It Works","href":"/hooks-trampoline/how-it-works"},{"title":"Usage","href":"/hooks-trampoline/usage"},{"group":"API Reference","pages":[{"title":"HooksTrampoline Contract","href":"/hooks-trampoline/api/hooks-trampoline"},{"title":"Hook Struct","href":"/hooks-trampoline/api/hook-struct"},{"title":"Errors","href":"/hooks-trampoline/api/errors"}]},{"group":"Architecture","pages":[{"title":"Settlement Flow","href":"/hooks-trampoline/architecture/settlement-flow"},{"title":"Gas Management","href":"/hooks-trampoline/architecture/gas-management"},{"title":"Security Model","href":"/hooks-trampoline/architecture/security"}]},{"group":"Development","expanded":false,"pages":[{"title":"Deployment","href":"/hooks-trampoline/development/deployment"},{"title":"Testing","href":"/hooks-trampoline/development/testing"}]}]},{"group":"Composable CoW","icon":"puzzle-piece","pages":[{"title":"Introduction","href":"/composable-cow/introduction"},{"title":"Quickstart","href":"/composable-cow/quickstart"},{"title":"Architecture","href":"/composable-cow/architecture"},{"group":"Guides","pages":[{"title":"Setup","href":"/composable-cow/guides/setup"},{"title":"Creating Orders","href":"/composable-cow/guides/creating-orders"},{"title":"Signature Construction","sidebarTitle":"Signature Construction","href":"/composable-cow/guides/signature-construction"},{"title":"Managing Orders","href":"/composable-cow/guides/managing-orders"},{"title":"Merkle Root Orders","href":"/composable-cow/guides/merkle-root-orders"},{"title":"Troubleshooting","href":"/composable-cow/guides/troubleshooting"},{"title":"Debugging Programmatic Orders","href":"/composable-cow/guides/debugging"}]},{"group":"Order Types","pages":[{"title":"Order Types Overview","href":"/composable-cow/order-types/overview"},{"title":"TWAP","href":"/composable-cow/order-types/twap"},{"title":"Stop Loss","href":"/composable-cow/order-types/stop-loss"},{"title":"Good After Time","href":"/composable-cow/order-types/good-after-time"},{"title":"Perpetual Stable Swap","href":"/composable-cow/order-types/perpetual-stable-swap"},{"title":"Trade Above Threshold","href":"/composable-cow/order-types/trade-above-threshold"}]},{"group":"Advanced","pages":[{"title":"Building a Custom Order Type","href":"/composable-cow/tutorials/custom-order-type"},{"title":"Custom Orders","href":"/composable-cow/advanced/custom-orders"},{"title":"Swap Guards","href":"/composable-cow/advanced/swap-guards"},{"title":"Value Factories","href":"/composable-cow/advanced/value-factories"}]},{"group":"API Reference","expanded":false,"pages":[{"title":"ComposableCoW","href":"/composable-cow/api/composable-cow"},{"title":"BaseConditionalOrder","href":"/composable-cow/api/base-conditional-order"},{"title":"ExtensibleFallbackHandler","href":"/composable-cow/api/extensible-fallback-handler"},{"group":"Interfaces","pages":[{"title":"IConditionalOrder","href":"/composable-cow/api/interfaces/iconditional-order"},{"title":"ISwapGuard","href":"/composable-cow/api/interfaces/iswap-guard"},{"title":"IValueFactory","href":"/composable-cow/api/interfaces/ivalue-factory"}]},{"group":"Order Contracts","pages":[{"title":"TWAP API","href":"/composable-cow/api/orders/twap"},{"title":"Stop Loss API","href":"/composable-cow/api/orders/stop-loss"},{"title":"Good After Time API","href":"/composable-cow/api/orders/good-after-time"},{"title":"Perpetual Stable Swap API","href":"/composable-cow/api/orders/perpetual-stable-swap"},{"title":"Trade Above Threshold API","href":"/composable-cow/api/orders/trade-above-threshold"}]}]},{"group":"Deployment","pages":[{"title":"Deploying","href":"/composable-cow/deployment/deploying"},{"title":"Networks","href":"/composable-cow/deployment/networks"},{"title":"Testing","href":"/composable-cow/deployment/testing"}]},{"group":"Security","pages":[{"title":"Audits","href":"/composable-cow/security/audits"},{"title":"Best Practices","href":"/composable-cow/security/best-practices"}]}]},{"group":"Contracts SDK","icon":"file-signature","pages":[{"title":"Introduction","href":"/cow-contracts/introduction"},{"title":"Installation","href":"/cow-contracts/installation"},{"title":"Quickstart","href":"/cow-contracts/quickstart"},{"group":"Concepts","pages":[{"title":"Architecture","href":"/cow-contracts/concepts/architecture"},{"title":"Orders","href":"/cow-contracts/concepts/orders"},{"title":"Settlement","href":"/cow-contracts/concepts/settlement"},{"title":"Authentication","href":"/cow-contracts/concepts/authentication"},{"title":"Solvers","href":"/cow-contracts/concepts/solvers"}]},{"group":"Contracts","pages":[{"title":"Contracts Overview","href":"/cow-contracts/contracts/overview"},{"title":"GPv2Settlement","href":"/cow-contracts/contracts/settlement"},{"title":"GPv2VaultRelayer","href":"/cow-contracts/contracts/vault-relayer"},{"title":"GPv2AllowListAuthentication","href":"/cow-contracts/contracts/authentication"},{"title":"Core Libraries","href":"/cow-contracts/contracts/libraries"}]},{"group":"SDK","pages":[{"title":"TypeScript SDK Overview","href":"/cow-contracts/sdk/overview"},{"title":"Orders","href":"/cow-contracts/sdk/orders"},{"title":"Signing","href":"/cow-contracts/sdk/signing"},{"title":"Settlement","href":"/cow-contracts/sdk/settlement"},{"title":"Interactions","href":"/cow-contracts/sdk/interactions"}]},{"group":"API - Solidity","expanded":false,"pages":[{"title":"GPv2Settlement API","href":"/cow-contracts/api/contracts/settlement"},{"title":"GPv2Authentication API","href":"/cow-contracts/api/contracts/authentication"},{"title":"GPv2Order API","href":"/cow-contracts/api/contracts/order"},{"title":"GPv2Trade API","href":"/cow-contracts/api/contracts/trade"},{"title":"GPv2Interaction API","href":"/cow-contracts/api/contracts/interaction"},{"title":"GPv2VaultRelayer API","href":"/cow-contracts/api/contracts/vault-relayer"}]},{"group":"API - TypeScript","expanded":false,"pages":[{"title":"Domain","href":"/cow-contracts/api/ts/domain"},{"title":"Order","description":"TypeScript order module API for creating, hashing, and managing CoW Protocol orders","href":"/cow-contracts/api/ts/order"},{"title":"Signing","href":"/cow-contracts/api/ts/signing"},{"title":"Settlement","description":"TypeScript settlement module API for encoding trades, interactions, and clearing prices","href":"/cow-contracts/api/ts/settlement"},{"title":"Interaction","href":"/cow-contracts/api/ts/interaction"},{"title":"Swap","href":"/cow-contracts/api/ts/swap"},{"title":"Deploy","href":"/cow-contracts/api/ts/deploy"},{"title":"Proxy","href":"/cow-contracts/api/ts/proxy"},{"title":"Vault","href":"/cow-contracts/api/ts/vault"}]},{"group":"Deployment","pages":[{"title":"Contract Addresses","href":"/cow-contracts/deployment/addresses"},{"title":"Supported Networks","href":"/cow-contracts/deployment/networks"},{"title":"Contract Verification","href":"/cow-contracts/deployment/verification"}]},{"group":"Development","expanded":false,"pages":[{"title":"Building","href":"/cow-contracts/development/building"},{"title":"Testing","href":"/cow-contracts/development/testing"},{"title":"Benchmarking","href":"/cow-contracts/development/benchmarking"}]}]},{"group":"Flash Loan Router","icon":"bolt","pages":[{"title":"Introduction","href":"/flash-loan-router/introduction"},{"title":"System Architecture","href":"/flash-loan-router/architecture"},{"group":"Getting Started","pages":[{"title":"Installation","href":"/flash-loan-router/getting-started/installation"},{"title":"Quickstart","href":"/flash-loan-router/getting-started/quickstart"},{"title":"Deployment","href":"/flash-loan-router/getting-started/deployment"}]},{"group":"Concepts","pages":[{"title":"Flash Loans","href":"/flash-loan-router/concepts/flash-loans"},{"title":"Router Design","href":"/flash-loan-router/concepts/router-design"},{"title":"Borrower Adapters","href":"/flash-loan-router/concepts/borrower-adapters"},{"title":"Security Model","href":"/flash-loan-router/concepts/security-model"}]},{"group":"Contracts","pages":[{"title":"FlashLoanRouter","href":"/flash-loan-router/contracts/flash-loan-router"},{"title":"AaveBorrower","href":"/flash-loan-router/contracts/aave-borrower"},{"title":"ERC3156Borrower","href":"/flash-loan-router/contracts/erc3156-borrower"},{"title":"Borrower (Base Contract)","href":"/flash-loan-router/contracts/base/borrower"},{"title":"IFlashLoanRouter","href":"/flash-loan-router/contracts/interfaces/iflash-loan-router"},{"title":"IBorrower","href":"/flash-loan-router/contracts/interfaces/iborrower"}]},{"group":"Operations","pages":[{"title":"Supported Networks","href":"/flash-loan-router/operations/networks"},{"title":"Deployment Guide","href":"/flash-loan-router/operations/deployment-guide"},{"title":"Testing Guide","href":"/flash-loan-router/operations/testing"},{"title":"Contract Verification","href":"/flash-loan-router/operations/verification"}]}]}]},{"tab":"TypeScript SDK","icon":"code","pages":[{"title":"TypeScript SDK","href":"/cow-sdk/introduction"}]},{"tab":"Python SDK","icon":"python","pages":[{"title":"Python SDK","href":"/cow-py/introduction"}]},{"tab":"Solvers","icon":"gears","pages":[{"title":"Solvers","href":"/cow-protocol/tutorials/solvers/local_test"}]},{"tab":"Backend","icon":"server","pages":[{"title":"Backend","href":"/bff/introduction"}]},{"tab":"Governance","icon":"landmark","pages":[{"title":"Governance","href":"/governance"}]}]},"title":"Signing - CoW DAO Documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":[],"chunks":[]}