@dev.sail.money/sailor 1.2.0-77 → 1.2.0-79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/examples/permissions/BoundedLimitless_Base.sol +105 -0
  2. package/examples/permissions/README.md +7 -5
  3. package/package.json +1 -1
  4. package/packages/cli/README.md +7 -3
  5. package/packages/cli/dist/index.cjs +151 -34
  6. package/packages/cli/dist/server.cjs +73 -12
  7. package/packages/sdk/dist/intelligence.d.ts +1 -1
  8. package/packages/sdk/dist/intelligence.js +1 -1
  9. package/packages/ui/dist/assets/{add-BlwOYgVP.js → add-BcdMqg1w.js} +1 -1
  10. package/packages/ui/dist/assets/{all-wallets-X886TnrY.js → all-wallets-eEMl6lkQ.js} +1 -1
  11. package/packages/ui/dist/assets/{app-store-5_THkwcX.js → app-store-CpHkkt4t.js} +1 -1
  12. package/packages/ui/dist/assets/{apple-RN9llXeT.js → apple-6ouqFZiK.js} +1 -1
  13. package/packages/ui/dist/assets/{arrow-bottom-itKniM1p.js → arrow-bottom-Bb9Z428n.js} +1 -1
  14. package/packages/ui/dist/assets/{arrow-bottom-circle-D7iFEHHJ.js → arrow-bottom-circle-DYEjX8QA.js} +1 -1
  15. package/packages/ui/dist/assets/{arrow-left-MaM2Avp9.js → arrow-left-3BCB1QCk.js} +1 -1
  16. package/packages/ui/dist/assets/{arrow-right-C5PtJtgH.js → arrow-right-Dx167xiS.js} +1 -1
  17. package/packages/ui/dist/assets/{arrow-top-BA_RQAq5.js → arrow-top-BH3F8Ed6.js} +1 -1
  18. package/packages/ui/dist/assets/{bank-D050DHfC.js → bank-CXANr0cC.js} +1 -1
  19. package/packages/ui/dist/assets/{basic-BFjw6sn6.js → basic-eaFgT79l.js} +1 -1
  20. package/packages/ui/dist/assets/{browser-D9ZnsZ5_.js → browser-BSyuQm_z.js} +1 -1
  21. package/packages/ui/dist/assets/{card-D1vIWsVX.js → card-DFrPUtDH.js} +1 -1
  22. package/packages/ui/dist/assets/{ccip-BaapcBO_.js → ccip-CYKGeMKc.js} +1 -1
  23. package/packages/ui/dist/assets/{checkmark-kkCO5JXg.js → checkmark-YRC9worI.js} +1 -1
  24. package/packages/ui/dist/assets/{checkmark-bold-BRSKSCgc.js → checkmark-bold-D8N8eQl6.js} +1 -1
  25. package/packages/ui/dist/assets/{chevron-bottom-sjsi68Y-.js → chevron-bottom-rc1vB7aX.js} +1 -1
  26. package/packages/ui/dist/assets/{chevron-left-BoufMmcX.js → chevron-left-2YccVP2W.js} +1 -1
  27. package/packages/ui/dist/assets/{chevron-right-BU7j74TB.js → chevron-right-C8wuK404.js} +1 -1
  28. package/packages/ui/dist/assets/{chevron-top-dMkP1P_w.js → chevron-top-EHhbhVVn.js} +1 -1
  29. package/packages/ui/dist/assets/{chrome-store-BYeu3s6a.js → chrome-store-_RmUc4Ak.js} +1 -1
  30. package/packages/ui/dist/assets/{clock-DsKDv2h1.js → clock-CdU3KA3t.js} +1 -1
  31. package/packages/ui/dist/assets/{close-DYFbNxP-.js → close-D_9HQRAi.js} +1 -1
  32. package/packages/ui/dist/assets/{coinPlaceholder-CC6D8T1D.js → coinPlaceholder-V1liE3T5.js} +1 -1
  33. package/packages/ui/dist/assets/{compass-BOCJUm1b.js → compass-BX5YFPqM.js} +1 -1
  34. package/packages/ui/dist/assets/{copy-DFPgSWQd.js → copy-D0yRL7B0.js} +1 -1
  35. package/packages/ui/dist/assets/{core-DA9LGlcF.js → core-DOm1cgRJ.js} +3 -3
  36. package/packages/ui/dist/assets/cursor-6cIMtmH6.js +3 -0
  37. package/packages/ui/dist/assets/{cursor-transparent-BiHhMjXj.js → cursor-transparent-DSt6DvIs.js} +1 -1
  38. package/packages/ui/dist/assets/{desktop-B-5ikoqn.js → desktop-5Gxn4pwD.js} +1 -1
  39. package/packages/ui/dist/assets/{disconnect-CfxFi0us.js → disconnect-DOKGtT5y.js} +1 -1
  40. package/packages/ui/dist/assets/{discord--Ca_ovYN.js → discord-qZ7e61AG.js} +1 -1
  41. package/packages/ui/dist/assets/{etherscan-CPzRv_tJ.js → etherscan-Cv5nh9fz.js} +1 -1
  42. package/packages/ui/dist/assets/{events-Bi074D97.js → events-C9qV0Eqh.js} +1 -1
  43. package/packages/ui/dist/assets/{exclamation-triangle-aQLpZRAe.js → exclamation-triangle-BrGltoOD.js} +1 -1
  44. package/packages/ui/dist/assets/{extension-BLI9H6uE.js → extension-rbJzrxR2.js} +1 -1
  45. package/packages/ui/dist/assets/{external-link-pmDBOLeB.js → external-link-u-PkoqkW.js} +1 -1
  46. package/packages/ui/dist/assets/{facebook-D0oBeuoW.js → facebook-BUOuB1AR.js} +1 -1
  47. package/packages/ui/dist/assets/{fallback-CTr-5J_0.js → fallback-Jc8-Tg7J.js} +1 -1
  48. package/packages/ui/dist/assets/{farcaster-D830ZQ6B.js → farcaster-DevdHBvK.js} +1 -1
  49. package/packages/ui/dist/assets/{filters-BDP12UH5.js → filters-Cdt_A-0T.js} +1 -1
  50. package/packages/ui/dist/assets/{github-Dsd8CaiB.js → github-D7OvtfA8.js} +1 -1
  51. package/packages/ui/dist/assets/{google-COaMfV-s.js → google-C7fcCh2C.js} +1 -1
  52. package/packages/ui/dist/assets/{help-circle-83k3tIYb.js → help-circle-CJYlQMQa.js} +1 -1
  53. package/packages/ui/dist/assets/{id-CKS6JA_C.js → id-DCrIrxvr.js} +1 -1
  54. package/packages/ui/dist/assets/{image-aPyURhkB.js → image-Cd4vAx3U.js} +1 -1
  55. package/packages/ui/dist/assets/{index-CUnzuCB1.js → index-C3Sr96ZU.js} +1 -1
  56. package/packages/ui/dist/assets/{index-COwDkv3o.js → index-Cy0esu9J.js} +3 -3
  57. package/packages/ui/dist/assets/{index-BvOsrf-A.js → index-DuEJJZTM.js} +1 -1
  58. package/packages/ui/dist/assets/{index-r4_v_97D.js → index-DvcJAW05.js} +1 -1
  59. package/packages/ui/dist/assets/{index-D0iREzjM.js → index-Yv-OtrtU.js} +36 -36
  60. package/packages/ui/dist/assets/{index-DXXwogr1.js → index-gZLKcNMf.js} +1 -1
  61. package/packages/ui/dist/assets/{index.es-YsdrjCOa.js → index.es-Ca_ntIyw.js} +4 -4
  62. package/packages/ui/dist/assets/{info-D-1gEaGf.js → info-BOvAn_nI.js} +1 -1
  63. package/packages/ui/dist/assets/{info-circle-CEcnXhcO.js → info-circle-COJvasGE.js} +1 -1
  64. package/packages/ui/dist/assets/{lightbulb-DuA1KrDX.js → lightbulb-CYz6UExH.js} +1 -1
  65. package/packages/ui/dist/assets/{mail-JkKpEBi6.js → mail-CkvkX18O.js} +1 -1
  66. package/packages/ui/dist/assets/{metamask-sdk-C9-v-knv.js → metamask-sdk-Cla6IB3a.js} +1 -1
  67. package/packages/ui/dist/assets/{mobile-DB9TNZz2.js → mobile-BQ9XvT6i.js} +1 -1
  68. package/packages/ui/dist/assets/{more-fP-bGgw9.js → more-zLvEx7Yq.js} +1 -1
  69. package/packages/ui/dist/assets/{network-placeholder-deY-B03n.js → network-placeholder-D69ehkDI.js} +1 -1
  70. package/packages/ui/dist/assets/{nftPlaceholder-CbbA4n3F.js → nftPlaceholder-D-h9zVKU.js} +1 -1
  71. package/packages/ui/dist/assets/{off-3ayAMsjV.js → off-_ywdT_df.js} +1 -1
  72. package/packages/ui/dist/assets/{parseSignature-GtjdojrJ.js → parseSignature-v17gXnmS.js} +1 -1
  73. package/packages/ui/dist/assets/{play-store-CKhO0KNl.js → play-store-CtqyPBxV.js} +1 -1
  74. package/packages/ui/dist/assets/{plus-BpuLUULB.js → plus-BZOwBZ9w.js} +1 -1
  75. package/packages/ui/dist/assets/{qr-code-CEW33VkT.js → qr-code-DVOdLGxV.js} +1 -1
  76. package/packages/ui/dist/assets/{recycle-horizontal-DzGMiQae.js → recycle-horizontal-Dw3F0SSR.js} +1 -1
  77. package/packages/ui/dist/assets/{refresh-jrP4AYfI.js → refresh-qm0DaJsK.js} +1 -1
  78. package/packages/ui/dist/assets/{reown-logo-DpirAqQj.js → reown-logo-CzLVxYtT.js} +1 -1
  79. package/packages/ui/dist/assets/{search-Cgo0L18Y.js → search-CFUlrZp6.js} +1 -1
  80. package/packages/ui/dist/assets/{secp256k1-DnW9PvLG.js → secp256k1-CBBCIY2h.js} +1 -1
  81. package/packages/ui/dist/assets/{send-D3WMesev.js → send-iEDKm814.js} +1 -1
  82. package/packages/ui/dist/assets/{swapHorizontal-X4k4Igqe.js → swapHorizontal-hkjwDOAT.js} +1 -1
  83. package/packages/ui/dist/assets/{swapHorizontalBold-guhcb5yU.js → swapHorizontalBold-ChOzydJB.js} +1 -1
  84. package/packages/ui/dist/assets/{swapHorizontalMedium-CY2hH1IK.js → swapHorizontalMedium-Qo-5Y2XZ.js} +1 -1
  85. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CkhmSVjn.js → swapHorizontalRoundedBold-B-oYiYML.js} +1 -1
  86. package/packages/ui/dist/assets/{swapVertical-ma4DOuv4.js → swapVertical-BG1cYFY6.js} +1 -1
  87. package/packages/ui/dist/assets/{telegram-CqxCoBfI.js → telegram-DlJUJAi-.js} +1 -1
  88. package/packages/ui/dist/assets/{three-dots-aYCJI1VH.js → three-dots-D9zuDuAD.js} +1 -1
  89. package/packages/ui/dist/assets/{twitch-DR7QLryB.js → twitch-CDwQYknJ.js} +1 -1
  90. package/packages/ui/dist/assets/{twitterIcon-BM8nMwqp.js → twitterIcon-CSI33QQX.js} +1 -1
  91. package/packages/ui/dist/assets/{verify-xRIdFoIV.js → verify-CR4ymsCx.js} +1 -1
  92. package/packages/ui/dist/assets/{verify-filled-Sd1hUDT2.js → verify-filled-BmJ4toa-.js} +1 -1
  93. package/packages/ui/dist/assets/{w3m-modal-DKu422qv.js → w3m-modal-D1A5jBj8.js} +1 -1
  94. package/packages/ui/dist/assets/{wallet-DwQDD6b7.js → wallet-CiGCme34.js} +1 -1
  95. package/packages/ui/dist/assets/{wallet-placeholder-D5B5F28S.js → wallet-placeholder-Bu8kFN6w.js} +1 -1
  96. package/packages/ui/dist/assets/{walletconnect-BgHdDlnQ.js → walletconnect-CNT0pexA.js} +1 -1
  97. package/packages/ui/dist/assets/{warning-circle-CxanhntI.js → warning-circle-DQTpi2d7.js} +1 -1
  98. package/packages/ui/dist/assets/{x-orN8l3rW.js → x-DuuOfymx.js} +1 -1
  99. package/packages/ui/dist/index.html +1 -1
  100. package/templates/default/.agents/skills/sail-onboarding/SKILL.md +1 -1
  101. package/templates/default/AGENTS.md +2 -0
  102. package/examples/permissions/BoundedBet_Limitless_Base.sol +0 -97
  103. package/packages/ui/dist/assets/cursor-mfqk2Gsx.js +0 -3
@@ -1,4 +1,4 @@
1
- import{F as l}from"./core-DA9LGlcF.js";import"./index-D0iREzjM.js";import"./events-Bi074D97.js";import"./index.es-YsdrjCOa.js";import"./fallback-CTr-5J_0.js";const o=l`<svg fill="none" viewBox="0 0 96 67">
1
+ import{F as l}from"./core-DOm1cgRJ.js";import"./index-Yv-OtrtU.js";import"./events-C9qV0Eqh.js";import"./index.es-Ca_ntIyw.js";import"./fallback-Jc8-Tg7J.js";const o=l`<svg fill="none" viewBox="0 0 96 67">
2
2
  <path
3
3
  fill="currentColor"
4
4
  d="M25.32 18.8a32.56 32.56 0 0 1 45.36 0l1.5 1.47c.63.62.63 1.61 0 2.22l-5.15 5.05c-.31.3-.82.3-1.14 0l-2.07-2.03a22.71 22.71 0 0 0-31.64 0l-2.22 2.18c-.31.3-.82.3-1.14 0l-5.15-5.05a1.55 1.55 0 0 1 0-2.22l1.65-1.62Zm56.02 10.44 4.59 4.5c.63.6.63 1.6 0 2.21l-20.7 20.26c-.62.61-1.63.61-2.26 0L48.28 41.83a.4.4 0 0 0-.56 0L33.03 56.21c-.63.61-1.64.61-2.27 0L10.07 35.95a1.55 1.55 0 0 1 0-2.22l4.59-4.5a1.63 1.63 0 0 1 2.27 0L31.6 43.63a.4.4 0 0 0 .57 0l14.69-14.38a1.63 1.63 0 0 1 2.26 0l14.69 14.38a.4.4 0 0 0 .57 0l14.68-14.38a1.63 1.63 0 0 1 2.27 0Z"
@@ -1,4 +1,4 @@
1
- import{F as r}from"./core-DA9LGlcF.js";import"./index-D0iREzjM.js";import"./events-Bi074D97.js";import"./index.es-YsdrjCOa.js";import"./fallback-CTr-5J_0.js";const a=r`<svg fill="none" viewBox="0 0 20 20">
1
+ import{F as r}from"./core-DOm1cgRJ.js";import"./index-Yv-OtrtU.js";import"./events-C9qV0Eqh.js";import"./index.es-Ca_ntIyw.js";import"./fallback-Jc8-Tg7J.js";const a=r`<svg fill="none" viewBox="0 0 20 20">
2
2
  <path
3
3
  fill="currentColor"
4
4
  d="M11 6.67a1 1 0 1 0-2 0v2.66a1 1 0 0 0 2 0V6.67ZM10 14.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z"
@@ -1,4 +1,4 @@
1
- import{F as l}from"./core-DA9LGlcF.js";import"./index-D0iREzjM.js";import"./events-Bi074D97.js";import"./index.es-YsdrjCOa.js";import"./fallback-CTr-5J_0.js";const a=l`<svg fill="none" viewBox="0 0 41 40">
1
+ import{F as l}from"./core-DOm1cgRJ.js";import"./index-Yv-OtrtU.js";import"./events-C9qV0Eqh.js";import"./index.es-Ca_ntIyw.js";import"./fallback-Jc8-Tg7J.js";const a=l`<svg fill="none" viewBox="0 0 41 40">
2
2
  <g clip-path="url(#a)">
3
3
  <path fill="#000" d="M.8 0h40v40H.8z" />
4
4
  <path
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="theme-color" content="#040b16" />
7
7
  <title>Sail - Unlocking Personalized Money</title>
8
- <script type="module" crossorigin src="/assets/index-D0iREzjM.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-Yv-OtrtU.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-DPtnHC8O.css">
10
10
  </head>
11
11
  <body>
@@ -7,7 +7,7 @@ description: Walks the agent through setting up a new Sailor project or resuming
7
7
 
8
8
  ## Running the CLI
9
9
 
10
- The project does not install `sailor` as a dependency, so invoke it with **`npx sailor <command>`** unless it is installed globally (`npm i -g @sail.money/sailor`, then `sailor` works bare). Every `sailor …` command in these skills assumes one of those. Confirm the toolchain up front and pin a recent version — `npx sailor@latest --version` — because an old cached `npx` build can be missing newer commands (e.g. `mandate simulate`); if a documented command reports "unknown command", you are on a stale version, not hitting a missing feature.
10
+ The published package is **`@sail.money/sailor`** — always use the scoped name with the registry. The bare name `sailor` is a different, unrelated npm package; never `npx sailor@<version>` or `npm i sailor`. Install it (`npm i -g @sail.money/sailor`, or as a project dep), after which the `sailor` bin works bare (`sailor <command>`) and `npx sailor <command>` resolves the installed bin. Every `sailor …` command in these skills assumes it is installed. Confirm the toolchain up front and pin a recent version — `npx @sail.money/sailor@latest --version` — because an old cached `npx` build can be missing newer commands (e.g. `mandate simulate`); if a documented command reports "unknown command", you are on a stale version, not hitting a missing feature.
11
11
 
12
12
  After upgrading the CLI, run `sailor update` from the project root to pull in updated skills, `AGENTS.md`, `Dockerfile`, and other tooling files. User files (`src/`, `mandates/`, `.sail/`, `package.json`) are never touched.
13
13
 
@@ -1,5 +1,7 @@
1
1
  This guide is for agents operating a scaffolded Sailor project. (Contributors to the Sailor codebase: see AGENTS.md at the monorepo root.)
2
2
 
3
+ > **This is a standalone project, not a clone of the Sailor repo.** `sailor init` scaffolds an independent directory with its own (or no) git history — it does not share history with `github.com/sail-money/Sailor`. Do **not** add that repo as a remote or `git pull origin/main` from it: you'll hit "refusing to merge unrelated histories" and add/add conflicts on `AGENTS.md`, `README.md`, `package.json`, `.gitignore`, and `docs/`. To update the tooling, bump the `@sail.money/sailor` dependency (`npm i @sail.money/sailor@latest`), not by pulling the source repo.
4
+
3
5
  ---
4
6
 
5
7
  Sail Protocol is infrastructure for onchain Separately Managed Accounts run by AI agents. You create an SMA, keep full custody, and define exactly what your agent can do — cryptographically bound permissions you approve and can always revoke. The agent executes within those bounds on every transaction. It cannot exceed them.
@@ -1,97 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.26;
3
-
4
- // ─────────────────────────────────────────────────────────────────────────────
5
- // Protocol : Limitless
6
- // Version : CTF-based prediction market (on-chain settlement on Base)
7
- // NOT Polymarket (Polymarket's CLOB matches orders off-chain on Polygon —
8
- // a permission cannot bound the orders your agent signs off-chain.
9
- // Limitless settles bets on-chain on Base, so the kernel sees every action.)
10
- // Chain : Base mainnet
11
- //
12
- // ⚠ WARNING — ABI UNVERIFIED ⚠
13
- // The Limitless exchange contract address and bet-placement function signature
14
- // below are based on published CTF exchange patterns and public documentation.
15
- // They have NOT been independently verified against the deployed contracts.
16
- // YOU MUST verify these before deploying with real funds:
17
- // 1. Find the Limitless exchange contract address on Basescan.
18
- // 2. Read its verified ABI and confirm the buy/place function signature.
19
- // 3. Recompute the selector and update SEL_BUY.
20
- // 4. Confirm the parameter layout matches BetParams below.
21
- // Deploying this contract with an unverified ABI may silently PASS or FAIL
22
- // all dispatches depending on whether the selector matches.
23
- //
24
- // ENFORCES ON-CHAIN (kernel calls evaluate() on every dispatch; false ⇒ dispatch blocked)
25
- // — ASSUMING the unverified ABI above is correct:
26
- // buy(bytes32 conditionId,uint256 amount,uint256 outcomeIndex) selector = keccak256(sig)[0:4]
27
- // • target must be LIMITLESS_EXCHANGE
28
- // • conditionId must be in ALLOWED_CONDITIONS
29
- // • amount ≤ MAX_STAKE
30
- // • outcomeIndex must be in ALLOWED_OUTCOMES
31
- //
32
- // AGENT-ENFORCED / NOT BOUNDED HERE (off-chain — can change without redeploying this contract):
33
- // • Market price / odds (on-chain prediction market prices fluctuate)
34
- // • Timing / frequency of bets
35
- //
36
- // VERIFY BEFORE USE:
37
- // • Confirm Limitless exchange address on Base (Basescan).
38
- // • Confirm buy function signature and compute selector:
39
- // keccak256("buy(bytes32,uint256,uint256)")[0:4] == 0x??? — verify on-chain.
40
- // • Confirm conditionId encoding matches the deployed market IDs.
41
- // • Update this contract if the ABI or parameter order differs.
42
- // ─────────────────────────────────────────────────────────────────────────────
43
-
44
- import {IPermission, Context} from "@sail/interfaces/IPermission.sol";
45
-
46
- contract BoundedBet_Limitless_Base is IPermission {
47
- bytes32 private constant DISCRIMINATOR = keccak256("BoundedBet_Limitless_Base");
48
-
49
- /// @dev ⚠ UNVERIFIED — replace with verified Limitless exchange address on Base.
50
- address public immutable LIMITLESS_EXCHANGE;
51
- mapping(bytes32 => bool) public isAllowedCondition;
52
- uint256 public immutable MAX_STAKE;
53
- mapping(uint256 => bool) public isAllowedOutcome;
54
-
55
- /// @dev ⚠ UNVERIFIED selector. Compute keccak256("buy(bytes32,uint256,uint256)")[0:4]
56
- /// and confirm it matches the deployed Limitless exchange contract before use.
57
- bytes4 private constant SEL_BUY = bytes4(keccak256("buy(bytes32,uint256,uint256)"));
58
-
59
- /// @param limitlessExchange ⚠ VERIFY — Limitless CTF exchange address on Base
60
- /// @param allowedConditions conditionIds (bytes32) of markets the agent may bet on
61
- /// @param maxStake Per-bet stake cap in collateral base units
62
- /// @param allowedOutcomes Outcome indices the agent may select (e.g. [0] for YES only)
63
- constructor(
64
- address limitlessExchange,
65
- bytes32[] memory allowedConditions,
66
- uint256 maxStake,
67
- uint256[] memory allowedOutcomes
68
- ) {
69
- LIMITLESS_EXCHANGE = limitlessExchange;
70
- MAX_STAKE = maxStake;
71
- for (uint256 i = 0; i < allowedConditions.length; i++) {
72
- isAllowedCondition[allowedConditions[i]] = true;
73
- }
74
- for (uint256 i = 0; i < allowedOutcomes.length; i++) {
75
- isAllowedOutcome[allowedOutcomes[i]] = true;
76
- }
77
- }
78
-
79
- function evaluate(bytes calldata txData, Context calldata ctx) external view returns (bool) {
80
- if (ctx.target != LIMITLESS_EXCHANGE) return false;
81
- if (ctx.selector != SEL_BUY) return false;
82
- if (txData.length < 4 + 3 * 32) return false;
83
-
84
- // ⚠ Assumes: buy(bytes32 conditionId, uint256 amount, uint256 outcomeIndex)
85
- // Verify parameter order against deployed contract ABI before use.
86
- (bytes32 conditionId, uint256 amount, uint256 outcomeIndex) =
87
- abi.decode(txData[4:], (bytes32, uint256, uint256));
88
-
89
- if (!isAllowedCondition[conditionId]) return false;
90
- if (amount > MAX_STAKE) return false;
91
- if (!isAllowedOutcome[outcomeIndex]) return false;
92
-
93
- return true;
94
- }
95
-
96
- function discriminator() external pure returns (bytes32) { return DISCRIMINATOR; }
97
- }
@@ -1,3 +0,0 @@
1
- import{F as o}from"./core-DA9LGlcF.js";import"./index-D0iREzjM.js";import"./events-Bi074D97.js";import"./index.es-YsdrjCOa.js";import"./fallback-CTr-5J_0.js";const l=o` <svg fill="none" viewBox="0 0 13 4">
2
- <path fill="currentColor" d="M.5 0h12L8.9 3.13a3.76 3.76 0 0 1-4.8 0L.5 0Z" />
3
- </svg>`;export{l as cursorSvg};