Create a CEP market via script
This commit is contained in:
		
							parent
							
								
									a4fb6a847c
								
							
						
					
					
						commit
						9e6c9a088c
					
				
							
								
								
									
										107
									
								
								functions/src/scripts/contest/create-markets.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								functions/src/scripts/contest/create-markets.ts
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,107 @@ | ||||||
|  | // Run with `npx ts-node src/scripts/contest/create-markets.ts`
 | ||||||
|  | const API_KEY = 'e0f4561c-59c3-453e-bf58-52a17e750099' | ||||||
|  | 
 | ||||||
|  | type CEPSubmission = { | ||||||
|  |   title: string | ||||||
|  |   author: string | ||||||
|  |   link: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const SUBMISSION_1: CEPSubmission = { | ||||||
|  |   title: 'New cause area: Violence against women and girls', | ||||||
|  |   author: 'Akhil', | ||||||
|  |   link: 'https://forum.effectivealtruism.org/posts/majcwf7i8pW8eMJ3v/new-cause-area-violence-against-women-and-girls', | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Use the API to create a new market for this Cause Exploration Prize submission
 | ||||||
|  | async function postMarket(submission: CEPSubmission) { | ||||||
|  |   const { title, author } = submission | ||||||
|  |   const response = await fetch('https://dev.manifold.markets/api/v0/market', { | ||||||
|  |     method: 'POST', | ||||||
|  |     headers: { | ||||||
|  |       'Content-Type': 'application/json', | ||||||
|  |       Authorization: `Key ${API_KEY}`, | ||||||
|  |     }, | ||||||
|  |     body: JSON.stringify({ | ||||||
|  |       outcomeType: 'BINARY', | ||||||
|  |       question: `"${title}" by ${author}` + 'DEV1', | ||||||
|  |       description: makeDescription(submission), | ||||||
|  |       closeTime: 1700000000000, | ||||||
|  |       initialProb: 25, | ||||||
|  |       // Super secret options:
 | ||||||
|  |       groupId: 'aW0904dRtCc6FVOTCEpf', | ||||||
|  |       visibility: 'unlisted', | ||||||
|  |       // TODO: Increase liquidity?
 | ||||||
|  |     }), | ||||||
|  |   }) | ||||||
|  |   const data = await response.json() | ||||||
|  |   console.log(data) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | postMarket(SUBMISSION_1) | ||||||
|  | 
 | ||||||
|  | /* Example curl request: | ||||||
|  | $ curl https://manifold.markets/api/v0/market -X POST -H 'Content-Type: application/json' \
 | ||||||
|  |     -H 'Authorization: Key {...}' | ||||||
|  |     --data-raw '{"outcomeType":"BINARY", \ | ||||||
|  |                  "question":"Is there life on Mars?", \ | ||||||
|  |                  "description":"I'm not going to type some long ass example description.", \ | ||||||
|  |                  "closeTime":1700000000000, \ | ||||||
|  |                  "initialProb":25}' | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | function makeDescription(submission: CEPSubmission) { | ||||||
|  |   const { title, author, link } = submission | ||||||
|  |   return { | ||||||
|  |     content: [ | ||||||
|  |       { | ||||||
|  |         content: [ | ||||||
|  |           { text: `Will ${author}'s post "`, type: 'text' }, | ||||||
|  |           { | ||||||
|  |             marks: [ | ||||||
|  |               { | ||||||
|  |                 attrs: { | ||||||
|  |                   target: '_blank', | ||||||
|  |                   href: link, | ||||||
|  |                   class: | ||||||
|  |                     'no-underline !text-indigo-700 z-10 break-words hover:underline hover:decoration-indigo-400 hover:decoration-2', | ||||||
|  |                 }, | ||||||
|  |                 type: 'link', | ||||||
|  |               }, | ||||||
|  |             ], | ||||||
|  |             type: 'text', | ||||||
|  |             text: title, | ||||||
|  |           }, | ||||||
|  |           { text: '" win first or second place in the ', type: 'text' }, | ||||||
|  |           { | ||||||
|  |             text: 'Cause Exploration Prizes', | ||||||
|  |             type: 'text', | ||||||
|  |             marks: [ | ||||||
|  |               { | ||||||
|  |                 attrs: { | ||||||
|  |                   target: '_blank', | ||||||
|  |                   class: | ||||||
|  |                     'no-underline !text-indigo-700 z-10 break-words hover:underline hover:decoration-indigo-400 hover:decoration-2', | ||||||
|  |                   href: 'https://www.causeexplorationprizes.com/', | ||||||
|  |                 }, | ||||||
|  |                 type: 'link', | ||||||
|  |               }, | ||||||
|  |             ], | ||||||
|  |           }, | ||||||
|  |           { text: '?', type: 'text' }, | ||||||
|  |         ], | ||||||
|  |         type: 'paragraph', | ||||||
|  |       }, | ||||||
|  |       { type: 'paragraph' }, | ||||||
|  |       { | ||||||
|  |         type: 'iframe', | ||||||
|  |         attrs: { | ||||||
|  |           allowfullscreen: true, | ||||||
|  |           src: 'https://forum.effectivealtruism.org/posts/majcwf7i8pW8eMJ3v/new-cause-area-violence-against-women-and-girls', | ||||||
|  |           frameborder: 0, | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |     ], | ||||||
|  |     type: 'doc', | ||||||
|  |   } | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user