@clawlogic/sdk 0.0.1

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 (62) hide show
  1. package/README.md +227 -0
  2. package/dist/abis/agentIdentityRegistryAbi.d.ts +532 -0
  3. package/dist/abis/agentIdentityRegistryAbi.d.ts.map +1 -0
  4. package/dist/abis/agentIdentityRegistryAbi.js +2 -0
  5. package/dist/abis/agentIdentityRegistryAbi.js.map +1 -0
  6. package/dist/abis/agentRegistryAbi.d.ts +265 -0
  7. package/dist/abis/agentRegistryAbi.d.ts.map +1 -0
  8. package/dist/abis/agentRegistryAbi.js +151 -0
  9. package/dist/abis/agentRegistryAbi.js.map +1 -0
  10. package/dist/abis/agentReputationRegistryAbi.d.ts +224 -0
  11. package/dist/abis/agentReputationRegistryAbi.d.ts.map +1 -0
  12. package/dist/abis/agentReputationRegistryAbi.js +2 -0
  13. package/dist/abis/agentReputationRegistryAbi.js.map +1 -0
  14. package/dist/abis/agentValidationRegistryAbi.d.ts +281 -0
  15. package/dist/abis/agentValidationRegistryAbi.d.ts.map +1 -0
  16. package/dist/abis/agentValidationRegistryAbi.js +2 -0
  17. package/dist/abis/agentValidationRegistryAbi.js.map +1 -0
  18. package/dist/abis/outcomeTokenAbi.d.ts +255 -0
  19. package/dist/abis/outcomeTokenAbi.d.ts.map +1 -0
  20. package/dist/abis/outcomeTokenAbi.js +152 -0
  21. package/dist/abis/outcomeTokenAbi.js.map +1 -0
  22. package/dist/abis/predictionMarketHookAbi.d.ts +396 -0
  23. package/dist/abis/predictionMarketHookAbi.d.ts.map +1 -0
  24. package/dist/abis/predictionMarketHookAbi.js +212 -0
  25. package/dist/abis/predictionMarketHookAbi.js.map +1 -0
  26. package/dist/client.d.ts +241 -0
  27. package/dist/client.d.ts.map +1 -0
  28. package/dist/client.js +569 -0
  29. package/dist/client.js.map +1 -0
  30. package/dist/config.d.ts +84 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +134 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/identity.d.ts +133 -0
  35. package/dist/identity.d.ts.map +1 -0
  36. package/dist/identity.js +314 -0
  37. package/dist/identity.js.map +1 -0
  38. package/dist/index.d.ts +13 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +19 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/types.d.ts +191 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +11 -0
  45. package/dist/types.js.map +1 -0
  46. package/package.json +51 -0
  47. package/src/abis/.gitkeep +0 -0
  48. package/src/abis/AgentRegistry.json +1 -0
  49. package/src/abis/ENSAgentHelper.json +1 -0
  50. package/src/abis/OutcomeToken.json +1 -0
  51. package/src/abis/PredictionMarketHook.json +1 -0
  52. package/src/abis/agentIdentityRegistryAbi.ts +1 -0
  53. package/src/abis/agentRegistryAbi.ts +150 -0
  54. package/src/abis/agentReputationRegistryAbi.ts +1 -0
  55. package/src/abis/agentValidationRegistryAbi.ts +1 -0
  56. package/src/abis/outcomeTokenAbi.ts +153 -0
  57. package/src/abis/predictionMarketHookAbi.ts +214 -0
  58. package/src/client.ts +722 -0
  59. package/src/config.ts +161 -0
  60. package/src/identity.ts +395 -0
  61. package/src/index.ts +48 -0
  62. package/src/types.ts +207 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"hook_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"hook","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"OnlyHook","inputs":[]}],"bytecode":{"object":"0x60a06040523461034457610bc78038038061001981610348565b9283398101906060818303126103445780516001600160401b038111610344578261004591830161036d565b60208201519092906001600160401b0381116103445760409161006991840161036d565b9101516001600160a01b03811681036103445782516001600160401b03811161025557600354600181811c9116801561033a575b602082101461023757601f81116102d7575b506020601f821160011461027457819293945f92610269575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161025557600454600181811c9116801561024b575b602082101461023757601f81116101d4575b50602092601f821160011461017357928192935f92610168575b50508160011b915f199060031b1c1916176004555b60805260405161080890816103bf82396080518181816101440152818161034301526103c80152f35b015190505f8061012a565b601f1982169360045f52805f20915f5b8681106101bc57508360019596106101a4575b505050811b0160045561013f565b01515f1960f88460031b161c191690555f8080610196565b91926020600181928685015181550194019201610183565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061022d575b601f0160051c01905b8181106102225750610110565b5f8155600101610215565b909150819061020c565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100fe565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c8565b601f1982169060035f52805f20915f5b8181106102bf575095836001959697106102a7575b505050811b016003556100dd565b01515f1960f88460031b161c191690555f8080610299565b9192602060018192868b015181550194019201610284565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610330575b601f0160051c01905b81811061032557506100af565b5f8155600101610318565b909150819061030f565b90607f169061009d565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761025557604052565b81601f82011215610344578051906001600160401b0382116102555761039c601f8301601f1916602001610348565b928284526020838301011161034457815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461061657508063095ea7b31461059457806318160ddd1461057757806323b872dd14610498578063313ce5671461047d57806340c10f19146103a957806370a08231146103725780637f5a7c7b1461032e57806395d89b41146102135780639dc29fac14610125578063a9059cbb146100f45763dd62ed3e146100a0575f80fd5b346100f05760403660031901126100f0576100b961070f565b6100c1610725565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100f05760403660031901126100f05761011a61011061070f565b602435903361073b565b602060405160018152f35b346100f05760403660031901126100f05761013e61070f565b602435907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610204576001600160a01b031680156101f157805f525f60205260405f20548281106101d8576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b9063391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b635a91834f60e01b5f5260045ffd5b346100f0575f3660031901126100f0576040515f6004548060011c90600181168015610324575b602083108114610310578285529081156102f4575060011461029f575b50819003601f01601f191681019067ffffffffffffffff82118183101761028b57610287829182604052826106e5565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b8282106102de57506020915082010182610257565b60018160209254838588010152019101906102c9565b90506020925060ff191682840152151560051b82010182610257565b634e487b7160e01b5f52602260045260245ffd5b91607f169161023a565b346100f0575f3660031901126100f0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100f05760203660031901126100f0576001600160a01b0361039361070f565b165f525f602052602060405f2054604051908152f35b346100f05760403660031901126100f0576103c261070f565b602435907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610204576001600160a01b031690811561046a57600254908082018092116104565760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b346100f0575f3660031901126100f057602060405160128152f35b346100f05760603660031901126100f0576104b161070f565b6104b9610725565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106104f7575b5061011a935061073b565b83811061055c5784156105495733156105365761011a945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846104ec565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100f0575f3660031901126100f0576020600254604051908152f35b346100f05760403660031901126100f0576105ad61070f565b602435903315610549576001600160a01b031690811561053657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100f0575f3660031901126100f0575f6003548060011c906001811680156106db575b602083108114610310578285529081156102f457506001146106865750819003601f01601f191681019067ffffffffffffffff82118183101761028b57610287829182604052826106e5565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b8282106106c557506020915082010182610257565b60018160209254838588010152019101906106b0565b91607f169161063a565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f057565b602435906001600160a01b03821682036100f057565b6001600160a01b03169081156101f1576001600160a01b031691821561046a57815f525f60205260405f20548181106107b957817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffdfea26469706673582212209e2c80f9ddb0d9d45b19eb0141e39e64516de5237e97798ae0cb24aa56d56f6c64736f6c634300081a0033","sourceMap":"499:1079:5:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;499:1079:5;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;499:1079:5;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;499:1079:5;;;;;;;;-1:-1:-1;;;;;499:1079:5;;;;1648:13:1;499:1079:5;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;;;;1648:13:1;499:1079:5;;;;;1648:13:1;499:1079:5;;;;-1:-1:-1;;;;;499:1079:5;;;;1671:17:1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;;;;1648:13:1;499:1079:5;;;;;1671:17:1;499:1079:5;;1285:12;;499:1079;;;;;;;;1285:12;499:1079;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;1671:17:1;-1:-1:-1;499:1079:5;;-1:-1:-1;499:1079:5;;-1:-1:-1;499:1079:5;;;;;;;;;;;;;;;;;;;;;1671:17:1;499:1079:5;;;;;;;;;;1648:13:1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:1;-1:-1:-1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;-1:-1:-1;499:1079:5;;1671:17:1;499:1079:5;;-1:-1:-1;499:1079:5;;;;;;;;;;;;-1:-1:-1;499:1079:5;;1671:17:1;499:1079:5;;-1:-1:-1;499:1079:5;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;1648:13:1;-1:-1:-1;499:1079:5;;-1:-1:-1;499:1079:5;;-1:-1:-1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;499:1079:5;;;;;;;;;;1648:13:1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;-1:-1:-1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;-1:-1:-1;;499:1079:5;;;-1:-1:-1;;;;;499:1079:5;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;499:1079:5;;;;;;;;-1:-1:-1;;499:1079:5;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461061657508063095ea7b31461059457806318160ddd1461057757806323b872dd14610498578063313ce5671461047d57806340c10f19146103a957806370a08231146103725780637f5a7c7b1461032e57806395d89b41146102135780639dc29fac14610125578063a9059cbb146100f45763dd62ed3e146100a0575f80fd5b346100f05760403660031901126100f0576100b961070f565b6100c1610725565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100f05760403660031901126100f05761011a61011061070f565b602435903361073b565b602060405160018152f35b346100f05760403660031901126100f05761013e61070f565b602435907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610204576001600160a01b031680156101f157805f525f60205260405f20548281106101d8576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b9063391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b635a91834f60e01b5f5260045ffd5b346100f0575f3660031901126100f0576040515f6004548060011c90600181168015610324575b602083108114610310578285529081156102f4575060011461029f575b50819003601f01601f191681019067ffffffffffffffff82118183101761028b57610287829182604052826106e5565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b8282106102de57506020915082010182610257565b60018160209254838588010152019101906102c9565b90506020925060ff191682840152151560051b82010182610257565b634e487b7160e01b5f52602260045260245ffd5b91607f169161023a565b346100f0575f3660031901126100f0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100f05760203660031901126100f0576001600160a01b0361039361070f565b165f525f602052602060405f2054604051908152f35b346100f05760403660031901126100f0576103c261070f565b602435907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610204576001600160a01b031690811561046a57600254908082018092116104565760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b346100f0575f3660031901126100f057602060405160128152f35b346100f05760603660031901126100f0576104b161070f565b6104b9610725565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106104f7575b5061011a935061073b565b83811061055c5784156105495733156105365761011a945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846104ec565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100f0575f3660031901126100f0576020600254604051908152f35b346100f05760403660031901126100f0576105ad61070f565b602435903315610549576001600160a01b031690811561053657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100f0575f3660031901126100f0575f6003548060011c906001811680156106db575b602083108114610310578285529081156102f457506001146106865750819003601f01601f191681019067ffffffffffffffff82118183101761028b57610287829182604052826106e5565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b8282106106c557506020915082010182610257565b60018160209254838588010152019101906106b0565b91607f169161063a565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f057565b602435906001600160a01b03821682036100f057565b6001600160a01b03169081156101f1576001600160a01b031691821561046a57815f525f60205260405f20548181106107b957817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffdfea26469706673582212209e2c80f9ddb0d9d45b19eb0141e39e64516de5237e97798ae0cb24aa56d56f6c64736f6c634300081a0033","sourceMap":"499:1079:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;3388:5:1;499:1079:5;;:::i;:::-;;;735:10:4;;3388:5:1;:::i;:::-;499:1079:5;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;;:::i;:::-;;;;789:4;-1:-1:-1;;;;;499:1079:5;775:10;:18;771:66;;-1:-1:-1;;;;;499:1079:5;7958:21:1;;7954:89;;499:1079:5;;;;;;;;;;6244:19:1;;;6240:115;;499:1079:5;;;;6987:25:1;499:1079:5;;;;;;;;;;;;;6714:21:1;499:1079:5;;6714:21:1;499:1079:5;;;;;;6987:25:1;499:1079:5;6240:115:1;6290:50;;;;499:1079:5;6290:50:1;499:1079:5;;;;;;;;6290:50:1;7954:89;8002:30;;;499:1079:5;8002:30:1;499:1079:5;;;;;8002:30:1;771:66:5;816:10;;;499:1079;816:10;499:1079;;816:10;499:1079;;;;;;-1:-1:-1;;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;-1:-1:-1;;499:1079:5;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;;635:29;-1:-1:-1;;;;;499:1079:5;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;-1:-1:-1;;;;;499:1079:5;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;;:::i;:::-;;;;789:4;-1:-1:-1;;;;;499:1079:5;775:10;:18;771:66;;-1:-1:-1;;;;;499:1079:5;;7432:21:1;;7428:91;;6137:21;499:1079:5;;;;;;;;;;;6987:25:1;499:1079:5;;;6137:21:1;499:1079:5;;;;;;;;;;;;;;;;;;;;;6987:25:1;499:1079:5;;;;;;;;;;;;;7428:91:1;7476:32;;;499:1079:5;7476:32:1;499:1079:5;;;;;7476:32:1;499:1079:5;;;;;;-1:-1:-1;;499:1079:5;;;;;;;2761:2:1;499:1079:5;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;499:1079:5;;;;;;;;;;;;;;;735:10:4;499:1079:5;;;;;;;;;;;;;;-1:-1:-1;;10486:36:1;;10482:309;;499:1079:5;4890:5:1;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:4;9817:21:1;9813:90;;4890:5;499:1079:5;;;;;;;;;;;;;;735:10:4;499:1079:5;-1:-1:-1;499:1079:5;;;;;-1:-1:-1;499:1079:5;;;;;10482:309:1;;;9813:90;9861:31;;;499:1079:5;9861:31:1;499:1079:5;;;;;9861:31:1;9715:89;9761:32;;;499:1079:5;9761:32:1;499:1079:5;;;;;9761:32:1;10538:130;10593:60;;;;;499:1079:5;10593:60:1;735:10:4;499:1079:5;;;;;;;;10593:60:1;499:1079:5;;;;;;-1:-1:-1;;499:1079:5;;;;;2881:12:1;499:1079:5;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;;:::i;:::-;;;735:10:4;;9719:19:1;9715:89;;-1:-1:-1;;;;;499:1079:5;;9817:21:1;;9813:90;;735:10:4;499:1079:5;;;;;;;;;-1:-1:-1;499:1079:5;;;;;-1:-1:-1;499:1079:5;;;;;;;9991:31:1;499:1079:5;735:10:4;9991:31:1;;499:1079:5;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;;1837:5:1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:1079:5;;;;;-1:-1:-1;;499:1079:5;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1837:5:1;499:1079:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;499:1079:5;;;;:::o;:::-;;;;-1:-1:-1;;;;;499:1079:5;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;499:1079:5;;;;;;:::o;5297:300:1:-;-1:-1:-1;;;;;499:1079:5;;5380:18:1;;5376:86;;-1:-1:-1;;;;;499:1079:5;;5475:16:1;;5471:86;;499:1079:5;5396:1:1;499:1079:5;5396:1:1;499:1079:5;;;5396:1:1;499:1079:5;;6244:19:1;;;6240:115;;499:1079:5;6987:25:1;499:1079:5;;;;5396:1:1;499:1079:5;5396:1:1;499:1079:5;;;;5396:1:1;499:1079:5;;;5396:1:1;499:1079:5;5396:1:1;499:1079:5;;;5396:1:1;499:1079:5;;;;;;;;;;;;6987:25:1;5297:300::o;6240:115::-;6290:50;;;;5396:1;6290:50;;499:1079:5;;;;;;5396:1:1;6290:50","linkReferences":{},"immutableReferences":{"799":[{"start":324,"length":32},{"start":835,"length":32},{"start":968,"length":32}]}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","hook()":"7f5a7c7b","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"hook_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyHook\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hook\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"$CLAWLOGIC Team\",\"details\":\"Each prediction market deploys two OutcomeToken instances (one YES, one NO). Only the PredictionMarketHook that created this token can mint and burn supply.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"burn(address,uint256)\":{\"params\":{\"amount\":\"Amount to burn\",\"from\":\"Address to burn from\"}},\"constructor\":{\"params\":{\"hook_\":\"The PredictionMarketHook address that will control minting and burning\",\"name_\":\"The token name (e.g., \\\"CLAWLOGIC YES Token - Will ETH break $4000?\\\")\",\"symbol_\":\"The token symbol (e.g., \\\"clYES\\\")\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"mint(address,uint256)\":{\"params\":{\"amount\":\"Amount to mint\",\"to\":\"Recipient address\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"title\":\"OutcomeToken\",\"version\":1},\"userdoc\":{\"errors\":{\"OnlyHook()\":[{\"notice\":\"Thrown when a caller other than the hook attempts a restricted operation\"}]},\"kind\":\"user\",\"methods\":{\"burn(address,uint256)\":{\"notice\":\"Burn tokens (only callable by PredictionMarketHook)\"},\"constructor\":{\"notice\":\"Deploys a new OutcomeToken bound to a specific PredictionMarketHook\"},\"hook()\":{\"notice\":\"The PredictionMarketHook address authorized to mint and burn tokens\"},\"mint(address,uint256)\":{\"notice\":\"Mint tokens (only callable by PredictionMarketHook)\"}},\"notice\":\"ERC-20 token representing a YES or NO outcome in a prediction market.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/OutcomeToken.sol\":\"OutcomeToken\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uma/core/=lib/protocol/packages/core/\",\":@uniswap/v4-core/=lib/v4-core/\",\":@uniswap/v4-periphery/=lib/v4-periphery/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":permit2/=lib/v4-periphery/lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/\",\":v4-periphery/=lib/v4-periphery/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x669464167428061ee0f8618b73b3ee90aff8405683e7ddde8cd77dadaa1afe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dda78587a7358b4fdf6b9fca0fde5a5e34930f36d5268a16028627fc0170195\",\"dweb:/ipfs/QmQ1b6cCceDRWNxti9HifsTCzmVP25Haxs1bWugm52vTqH\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"src/OutcomeToken.sol\":{\"keccak256\":\"0xea4f09234896a444fa8d6ba5d465b3751cb47e71f926193703fdd0a9ec389b46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38bb7250277400cd8a453d6d4a78c60cf330fc5c3841639cee03df61a6009d1c\",\"dweb:/ipfs/QmSk5guaqRDy55dy4zrpnyZ63D92UMAjguNQ1EshzMizdm\"]},\"src/interfaces/IOutcomeToken.sol\":{\"keccak256\":\"0x7737a1fc3b22e323189445aabd442d0d653658efa4efab01957a1afe1461e7ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83b6640ca20b7aa03bbc30897fa0f6a24e21d65acce9c74db8b2f5634c4b7dfe\",\"dweb:/ipfs/QmfE3efRnJjAXU4UZ9NmyiRPdLUmgq8cyYQ9H42RC3vmF8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"hook_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[],"type":"error","name":"OnlyHook"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"hook","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"burn(address,uint256)":{"params":{"amount":"Amount to burn","from":"Address to burn from"}},"constructor":{"params":{"hook_":"The PredictionMarketHook address that will control minting and burning","name_":"The token name (e.g., \"CLAWLOGIC YES Token - Will ETH break $4000?\")","symbol_":"The token symbol (e.g., \"clYES\")"}},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"mint(address,uint256)":{"params":{"amount":"Amount to mint","to":"Recipient address"}},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"burn(address,uint256)":{"notice":"Burn tokens (only callable by PredictionMarketHook)"},"constructor":{"notice":"Deploys a new OutcomeToken bound to a specific PredictionMarketHook"},"hook()":{"notice":"The PredictionMarketHook address authorized to mint and burn tokens"},"mint(address,uint256)":{"notice":"Mint tokens (only callable by PredictionMarketHook)"}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uma/core/=lib/protocol/packages/core/","@uniswap/v4-core/=lib/v4-core/","@uniswap/v4-periphery/=lib/v4-periphery/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/openzeppelin-contracts/","permit2/=lib/v4-periphery/lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/","v4-periphery/=lib/v4-periphery/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/OutcomeToken.sol":"OutcomeToken"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998","urls":["bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c","dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0x669464167428061ee0f8618b73b3ee90aff8405683e7ddde8cd77dadaa1afe29","urls":["bzz-raw://0dda78587a7358b4fdf6b9fca0fde5a5e34930f36d5268a16028627fc0170195","dweb:/ipfs/QmQ1b6cCceDRWNxti9HifsTCzmVP25Haxs1bWugm52vTqH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f","urls":["bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e","dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"src/OutcomeToken.sol":{"keccak256":"0xea4f09234896a444fa8d6ba5d465b3751cb47e71f926193703fdd0a9ec389b46","urls":["bzz-raw://38bb7250277400cd8a453d6d4a78c60cf330fc5c3841639cee03df61a6009d1c","dweb:/ipfs/QmSk5guaqRDy55dy4zrpnyZ63D92UMAjguNQ1EshzMizdm"],"license":"MIT"},"src/interfaces/IOutcomeToken.sol":{"keccak256":"0x7737a1fc3b22e323189445aabd442d0d653658efa4efab01957a1afe1461e7ba","urls":["bzz-raw://83b6640ca20b7aa03bbc30897fa0f6a24e21d65acce9c74db8b2f5634c4b7dfe","dweb:/ipfs/QmfE3efRnJjAXU4UZ9NmyiRPdLUmgq8cyYQ9H42RC3vmF8"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/OutcomeToken.sol","id":866,"exportedSymbols":{"ERC20":[651],"IOutcomeToken":[898],"OutcomeToken":[865]},"nodeType":"SourceUnit","src":"32:1547:5","nodes":[{"id":787,"nodeType":"PragmaDirective","src":"32:24:5","nodes":[],"literals":["solidity","^","0.8",".26"]},{"id":789,"nodeType":"ImportDirective","src":"58:68:5","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":866,"sourceUnit":652,"symbolAliases":[{"foreign":{"id":788,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":651,"src":"66:5:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":791,"nodeType":"ImportDirective","src":"127:61:5","nodes":[],"absolutePath":"src/interfaces/IOutcomeToken.sol","file":"./interfaces/IOutcomeToken.sol","nameLocation":"-1:-1:-1","scope":866,"sourceUnit":899,"symbolAliases":[{"foreign":{"id":790,"name":"IOutcomeToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":898,"src":"135:13:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":865,"nodeType":"ContractDefinition","src":"499:1079:5","nodes":[{"id":799,"nodeType":"VariableDeclaration","src":"635:29:5","nodes":[],"baseFunctions":[897],"constant":false,"documentation":{"id":797,"nodeType":"StructuredDocumentation","src":"551:79:5","text":"@notice The PredictionMarketHook address authorized to mint and burn tokens"},"functionSelector":"7f5a7c7b","mutability":"immutable","name":"hook","nameLocation":"660:4:5","scope":865,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":798,"name":"address","nodeType":"ElementaryTypeName","src":"635:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":813,"nodeType":"ModifierDefinition","src":"741:113:5","nodes":[],"body":{"id":812,"nodeType":"Block","src":"761:93:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":802,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"775:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"779:6:5","memberName":"sender","nodeType":"MemberAccess","src":"775:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":804,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":799,"src":"789:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"775:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":810,"nodeType":"IfStatement","src":"771:66:5","trueBody":{"id":809,"nodeType":"Block","src":"795:42:5","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":806,"name":"OnlyHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"816:8:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"816:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":808,"nodeType":"RevertStatement","src":"809:17:5"}]}},{"id":811,"nodeType":"PlaceholderStatement","src":"846:1:5"}]},"documentation":{"id":800,"nodeType":"StructuredDocumentation","src":"671:65:5","text":"@notice Restricts function access to the PredictionMarketHook"},"name":"onlyHook","nameLocation":"750:8:5","parameters":{"id":801,"nodeType":"ParameterList","parameters":[],"src":"758:2:5"},"virtual":false,"visibility":"internal"},{"id":832,"nodeType":"FunctionDefinition","src":"1182:122:5","nodes":[],"body":{"id":831,"nodeType":"Block","src":"1275:29:5","nodes":[],"statements":[{"expression":{"id":829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":827,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":799,"src":"1285:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":828,"name":"hook_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":820,"src":"1292:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1285:12:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":830,"nodeType":"ExpressionStatement","src":"1285:12:5"}]},"documentation":{"id":814,"nodeType":"StructuredDocumentation","src":"860:317:5","text":"@notice Deploys a new OutcomeToken bound to a specific PredictionMarketHook\n @param name_ The token name (e.g., \"CLAWLOGIC YES Token - Will ETH break $4000?\")\n @param symbol_ The token symbol (e.g., \"clYES\")\n @param hook_ The PredictionMarketHook address that will control minting and burning"},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":823,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":816,"src":"1259:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":824,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":818,"src":"1266:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":825,"kind":"baseConstructorSpecifier","modifierName":{"id":822,"name":"ERC20","nameLocations":["1253:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"1253:5:5"},"nodeType":"ModifierInvocation","src":"1253:21:5"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":816,"mutability":"mutable","name":"name_","nameLocation":"1208:5:5","nodeType":"VariableDeclaration","scope":832,"src":"1194:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":815,"name":"string","nodeType":"ElementaryTypeName","src":"1194:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":818,"mutability":"mutable","name":"symbol_","nameLocation":"1229:7:5","nodeType":"VariableDeclaration","scope":832,"src":"1215:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":817,"name":"string","nodeType":"ElementaryTypeName","src":"1215:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":820,"mutability":"mutable","name":"hook_","nameLocation":"1246:5:5","nodeType":"VariableDeclaration","scope":832,"src":"1238:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":819,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1193:59:5"},"returnParameters":{"id":826,"nodeType":"ParameterList","parameters":[],"src":"1275:0:5"},"scope":865,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":848,"nodeType":"FunctionDefinition","src":"1344:94:5","nodes":[],"body":{"id":847,"nodeType":"Block","src":"1404:34:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":843,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"1420:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":844,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"1424:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":842,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"1414:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1414:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":846,"nodeType":"ExpressionStatement","src":"1414:17:5"}]},"baseFunctions":[883],"documentation":{"id":833,"nodeType":"StructuredDocumentation","src":"1310:29:5","text":"@inheritdoc IOutcomeToken"},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[{"id":840,"kind":"modifierInvocation","modifierName":{"id":839,"name":"onlyHook","nameLocations":["1395:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":813,"src":"1395:8:5"},"nodeType":"ModifierInvocation","src":"1395:8:5"}],"name":"mint","nameLocation":"1353:4:5","parameters":{"id":838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":835,"mutability":"mutable","name":"to","nameLocation":"1366:2:5","nodeType":"VariableDeclaration","scope":848,"src":"1358:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"1358:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":837,"mutability":"mutable","name":"amount","nameLocation":"1378:6:5","nodeType":"VariableDeclaration","scope":848,"src":"1370:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":836,"name":"uint256","nodeType":"ElementaryTypeName","src":"1370:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1357:28:5"},"returnParameters":{"id":841,"nodeType":"ParameterList","parameters":[],"src":"1404:0:5"},"scope":865,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":864,"nodeType":"FunctionDefinition","src":"1478:98:5","nodes":[],"body":{"id":863,"nodeType":"Block","src":"1540:36:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":859,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":851,"src":"1556:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":860,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":853,"src":"1562:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":858,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"1550:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":862,"nodeType":"ExpressionStatement","src":"1550:19:5"}]},"baseFunctions":[891],"documentation":{"id":849,"nodeType":"StructuredDocumentation","src":"1444:29:5","text":"@inheritdoc IOutcomeToken"},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[{"id":856,"kind":"modifierInvocation","modifierName":{"id":855,"name":"onlyHook","nameLocations":["1531:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":813,"src":"1531:8:5"},"nodeType":"ModifierInvocation","src":"1531:8:5"}],"name":"burn","nameLocation":"1487:4:5","parameters":{"id":854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":851,"mutability":"mutable","name":"from","nameLocation":"1500:4:5","nodeType":"VariableDeclaration","scope":864,"src":"1492:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":850,"name":"address","nodeType":"ElementaryTypeName","src":"1492:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":853,"mutability":"mutable","name":"amount","nameLocation":"1514:6:5","nodeType":"VariableDeclaration","scope":864,"src":"1506:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":852,"name":"uint256","nodeType":"ElementaryTypeName","src":"1506:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1491:30:5"},"returnParameters":{"id":857,"nodeType":"ParameterList","parameters":[],"src":"1540:0:5"},"scope":865,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":793,"name":"ERC20","nameLocations":["524:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"524:5:5"},"id":794,"nodeType":"InheritanceSpecifier","src":"524:5:5"},{"baseName":{"id":795,"name":"IOutcomeToken","nameLocations":["531:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":898,"src":"531:13:5"},"id":796,"nodeType":"InheritanceSpecifier","src":"531:13:5"}],"canonicalName":"OutcomeToken","contractDependencies":[],"contractKind":"contract","documentation":{"id":792,"nodeType":"StructuredDocumentation","src":"190:309:5","text":"@title OutcomeToken\n @author $CLAWLOGIC Team\n @notice ERC-20 token representing a YES or NO outcome in a prediction market.\n @dev Each prediction market deploys two OutcomeToken instances (one YES, one NO).\n Only the PredictionMarketHook that created this token can mint and burn supply."},"fullyImplemented":true,"linearizedBaseContracts":[865,898,651,41,755,729,785],"name":"OutcomeToken","nameLocation":"508:12:5","scope":866,"usedErrors":[11,16,21,30,35,40,875],"usedEvents":[663,672]}],"license":"MIT"},"id":5}