UNPKG

@metaspacecy/information-sdk

Version:
1 lines 47.5 kB
{"version":3,"sources":["../src/index.ts","../src/constants.ts","../src/accessControl.ts","../src/getResource.ts","../src/utils.ts","../src/services.ts","../src/information.ts"],"sourcesContent":["import {\n AptosAccount,\n AptosClient,\n HexString,\n TransactionBuilderRemoteABI,\n Types,\n} from \"aptos\";\nimport _, { isString } from \"lodash\";\nimport { getMemberRole } from \"./accessControl\";\nimport * as getResource from \"./getResource\";\nimport * as services from \"./services\";\nimport {\n cancelPredictEvent,\n cancelSurveyEvent,\n cancelSurveyNFTEvent,\n createPredictEvent,\n createSurveyEvent,\n createSurveyNFTEvent,\n finalizePredictEvent,\n finalizeSurveyEvent,\n finalizeSurveyNFtEvent,\n predictEvent,\n redeemPredictEvent,\n redeemSurveyEvent,\n redeemSurveyNFTEvent,\n surveyEvent,\n surveyNFTEvent,\n} from \"./information\";\nimport { IChainID } from \"./types\";\nimport * as Constants from \"./constants\";\n\nexport default class InformationSDK {\n private chainID: IChainID[\"value\"];\n\n private privateKey?: HexString;\n\n private responseField?: string[];\n\n private signAndSubmitTransactionCallback?: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>;\n\n // ChainID of the network used by the user\n // responseField is an array of values that the user wants to return after using the signAndSubmitTransaction function\n // example [\"hash\"] => result {hash: ...}\n // callBack: is signAndSubmitTransaction function of wallet adapter\n // if you don't have wallet adapter you can use private key\n constructor(\n chainID: IChainID[\"value\"],\n callBack?:\n | ((transaction: Types.TransactionPayload, options?: any) => Promise<any>)\n | string,\n responseField?: string[]\n ) {\n if (isString(callBack)) {\n this.privateKey = new HexString(callBack);\n } else {\n this.signAndSubmitTransactionCallback = callBack;\n }\n\n this.chainID = chainID;\n this.responseField = responseField;\n }\n\n signAndSubmitTransaction = async (\n transaction: any,\n options?: any\n ): Promise<any> => {\n let result;\n if (this.privateKey) {\n const aptosClient = new AptosClient(\n Constants.APTOS_NODE_URL[this.chainID]\n );\n\n const sender = new AptosAccount(this.privateKey.toUint8Array());\n const builder = new TransactionBuilderRemoteABI(aptosClient, {\n sender: sender.address(),\n ...options,\n });\n const rawTxn = await builder.build(\n transaction.function,\n transaction.type_arguments,\n transaction.arguments\n );\n const sign = await aptosClient.signTransaction(sender, rawTxn);\n result = await aptosClient.submitTransaction(sign);\n } else if (this.signAndSubmitTransactionCallback) {\n result = await this.signAndSubmitTransactionCallback(\n transaction,\n options\n );\n }\n if (this.responseField) {\n return _.reduce(\n result,\n (_result: any, value: any, key: string) => {\n if (this.responseField?.includes(key)) {\n return {\n ..._result,\n [key]: value,\n };\n }\n return _result;\n },\n {}\n );\n }\n return result;\n };\n\n async getOperatorRole(): Promise<any> {\n return getMemberRole(this.signAndSubmitTransaction, this.chainID);\n }\n\n // description: The event description has a data type of string.\n // uri: The event media\n // options: The event options has a data type of array.\n // startTime: The event start time\n // endTime: The event end time\n // payoutTime: The redemption time for users after the event ends\n // coinType: The event coin type\n async createPredictEvent(\n description: string,\n uri: string,\n options: string[],\n start_time: number,\n end_time: number,\n payout_time: number,\n type_arguments: string\n ): Promise<any> {\n return createPredictEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n uri,\n options,\n start_time,\n end_time,\n payout_time,\n type_arguments\n );\n }\n\n // description: The event description has a data type of string.\n // uri: The event media\n // reward: The event reward\n // options: The event options has a data type of array.\n // startTime: The event start time\n // endTime: The event end time\n // payoutTime: The redemption time for users after the event ends\n // coinType: The event coin type\n async createSuyveyEvent(\n description: string,\n uri: string,\n reward: number,\n options: string[],\n start_time: number,\n end_time: number,\n payout_time: number,\n type_arguments: string\n ): Promise<any> {\n return createSurveyEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n uri,\n reward,\n options,\n start_time,\n end_time,\n payout_time,\n type_arguments\n );\n }\n\n // description: The event description has a data type of string.\n // collection: The event collection name\n // uri: The event media\n // options: The event options has a data type of array.\n // startTime: The event start time\n // endTime: The event end time\n // payoutTime: The redemption time for users after the event ends\n // coinType: The event coin type\n async createSuyveyNFTEvent(\n description: string,\n collection: string,\n uri: string,\n options: string[],\n start_time: number,\n end_time: number,\n payout_time: number\n ): Promise<any> {\n return createSurveyNFTEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n collection,\n uri,\n options,\n start_time,\n end_time,\n payout_time\n );\n }\n\n // option: your option\n // amount: Number of options\n async predictEvent(\n option: string,\n amount: number,\n event_creator: HexString,\n event_description: String,\n event_options: string[],\n type_arguments: string\n ): Promise<any> {\n return predictEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n option,\n amount,\n event_creator,\n event_description,\n event_options,\n type_arguments\n );\n }\n\n // option: your option\n async surveyEvent(\n option: string,\n event_creator: HexString,\n event_description: String,\n event_options: string[],\n type_arguments: string\n ): Promise<any> {\n return surveyEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n option,\n event_creator,\n event_description,\n event_options,\n type_arguments\n );\n }\n\n // option: your option\n // amount: Number of options\n // token_creator: token creator\n // collection: token collection\n // token_name: token name\n // token_version: token properties version\n async surveyNFTEvent(\n option: string,\n amount: number,\n event_creator: HexString,\n event_description: String,\n event_options: string[],\n token_creator: HexString,\n collection: string,\n token_name: string,\n token_version: number\n ): Promise<any> {\n return surveyNFTEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n option,\n amount,\n event_creator,\n event_description,\n event_options,\n token_creator,\n collection,\n token_name,\n token_version\n );\n }\n\n // The length of outcomes must be equal to the length of options.\n // outcomes is an array of numbers\n // outcomes is the event result\n async finalizePredictEvent(\n description: string,\n options: string[],\n outcomes: number[],\n type_arguments: string\n ): Promise<any> {\n return finalizePredictEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n options,\n outcomes,\n type_arguments\n );\n }\n\n // The length of outcomes must be equal to the length of options.\n // outcomes is an array of numbers\n // outcomes is the event result\n async finalizeSurveyEvent(\n description: string,\n options: string[],\n outcomes: number[],\n type_arguments: string\n ): Promise<any> {\n return finalizeSurveyEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n options,\n outcomes,\n type_arguments\n );\n }\n\n // The length of outcomes must be equal to the length of options.\n // outcomes is an array of numbers\n // outcomes is the event result\n async finalizeSurveyNFTEvent(\n description: string,\n options: string[],\n outcomes: number[]\n ): Promise<any> {\n return finalizeSurveyNFtEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n options,\n outcomes\n );\n }\n\n // name is the name of the token that users receive when they make a prediction\n async redeemPredictEvent(\n name: string,\n amount: number,\n type_arguments: string\n ): Promise<any> {\n return redeemPredictEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n name,\n amount,\n type_arguments\n );\n }\n\n // name is the name of the token that users receive when they make a prediction\n async redeemSurveyEvent(name: string, type_arguments: string): Promise<any> {\n return redeemSurveyEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n name,\n type_arguments\n );\n }\n\n // name is the name of the token that users receive when they make a prediction\n async redeemSurveyNFTEvent(name: string, amount: number): Promise<any> {\n return redeemSurveyNFTEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n name,\n amount\n );\n }\n\n async cancelPredictEvent(\n description: string,\n options: string[],\n type_arguments: string\n ): Promise<any> {\n return cancelPredictEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n options,\n type_arguments\n );\n }\n\n async cancelSurveyEvent(\n description: string,\n options: string[],\n type_arguments: string\n ): Promise<any> {\n return cancelSurveyEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n options,\n type_arguments\n );\n }\n\n async cancelSurveyNFTEvent(\n description: string,\n options: string[]\n ): Promise<any> {\n return cancelSurveyNFTEvent(\n this.signAndSubmitTransaction,\n this.chainID,\n description,\n options\n );\n }\n}\nexport { getResource, Constants, services };\n","export const MODULE_ADDRESS = {\n 1: \"0x98d807bee3b8a28feb99c87712787ad1608c5e31cd6770669e39dcb8a3ae6b0d\",\n 2: \"0x98d807bee3b8a28feb99c87712787ad1608c5e31cd6770669e39dcb8a3ae6b0d\",\n 41: \"0x98d807bee3b8a28feb99c87712787ad1608c5e31cd6770669e39dcb8a3ae6b0d\",\n};\nexport const RESOURCE_ADDRESS = {\n 1: \"0x79bf4ba0dd0e0369dd15644192e8264db9f863a03b299cd85a5367b8d214c231\",\n 2: \"0x79bf4ba0dd0e0369dd15644192e8264db9f863a03b299cd85a5367b8d214c231\",\n 41: \"0x79bf4ba0dd0e0369dd15644192e8264db9f863a03b299cd85a5367b8d214c231\",\n};\nexport const APTOS_NODE_URL = {\n 1: \"https://fullnode.mainnet.aptoslabs.com/v1\",\n 2: \"https://fullnode.testnet.aptoslabs.com/v1\",\n 41: \"https://fullnode.devnet.aptoslabs.com/v1\",\n}\nexport const COLLECTION = {\n 1: \"Metaspacecy Conditional Token Test\",\n 2: \"Metaspacecy Conditional Token Test\",\n 41: \"Metaspacecy Conditional Token Test\"\n}\n\nexport const GraphQLEndpoint = {\n 1: \"https://indexer.mainnet.aptoslabs.com/v1/graphql\",\n 2: \"https://indexer-testnet.staging.gcp.aptosdev.com/v1/graphql\",\n 41: \"https://indexer-devnet.staging.gcp.aptosdev.com/v1/graphql\",\n};\n\nexport const ACCESS_CONTROL_MODULE = \"access_control\";\nexport const SECONDARY_ACCESS_CONTROL_MODULE = \"secondary_access_control\";\n\nexport const INFORMATION_MODULE = \"information_factory\";\nexport const INFORMATION_DATA_MODULE = \"information_data_factory\";\nexport const PREDICT_MODULE = \"prediction\";\nexport const SURVEY_MODULE = \"survey\";\nexport const SURVEY_NFT_MODULE = \"survey_nft\";\n\nexport const DEFAULT_COIN_TYPE = \"0x1::aptos_coin::AptosCoin\";\n\nexport const CONITIONAL_TOKEN = \"conditional_token\";\n","// import { AptosClient } from \"aptos\"\nimport { Types } from \"aptos\";\nimport { MODULE_ADDRESS, SECONDARY_ACCESS_CONTROL_MODULE } from \"./constants\";\nimport { IChainID } from \"./types\";\n\nconst getMemberRole = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainId: IChainID[\"value\"]\n) => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainId]}::${SECONDARY_ACCESS_CONTROL_MODULE}::get_role`,\n type_arguments: [],\n arguments: [],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nexport { getMemberRole };\n","import { AptosClient, HexString, TokenClient } from \"aptos\";\nimport {\n APTOS_NODE_URL,\n COLLECTION,\n DEFAULT_COIN_TYPE,\n INFORMATION_DATA_MODULE,\n INFORMATION_MODULE,\n MODULE_ADDRESS,\n PREDICT_MODULE,\n RESOURCE_ADDRESS,\n SURVEY_MODULE,\n SURVEY_NFT_MODULE,\n} from \"./constants\";\nimport { IChainID } from \"./types\";\nimport { getOptionHashValue } from \"./utils\";\n\n// creator : the event creator\n// description: The event description has a data type of string.\n// options: The event options has a data type of array.\n// chainId: The network chainId\n// coinType: The event coin type\nexport const getPredictEventByEventID = async (\n creator: HexString,\n description: string,\n options: string[],\n chainId: IChainID[\"value\"],\n coinType: string = DEFAULT_COIN_TYPE\n) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const { data }: any = await client.getAccountResource(\n MODULE_ADDRESS[chainId],\n `${MODULE_ADDRESS[chainId]}::${PREDICT_MODULE}::Prediction<${coinType}>`\n );\n const { handle } = data.all_events;\n\n try {\n const dataPredict = await client.getTableItem(handle, {\n key_type: `${MODULE_ADDRESS[chainId]}::${INFORMATION_DATA_MODULE}::EventID`,\n value_type: `${MODULE_ADDRESS[chainId]}::${PREDICT_MODULE}::Event<${coinType}>`,\n key: {\n creator,\n description:\n options.length !== 0\n ? `${description}?#(${coinType})?#${getOptionHashValue(options)}`\n : description,\n },\n });\n return dataPredict;\n } catch (error: any) {\n return error;\n }\n};\n\n// creator : the event creator\n// description: The event description has a data type of string.\n// options: The event options has a data type of array.\n// chainId: The network chainId\n// coinType: The event coin type\nexport const getSurveyEventByEventID = async (\n creator: HexString,\n description: string,\n options: string[],\n chainId: IChainID[\"value\"],\n coinType: string = DEFAULT_COIN_TYPE\n) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const { data }: any = await client.getAccountResource(\n MODULE_ADDRESS[chainId],\n `${MODULE_ADDRESS[chainId]}::${SURVEY_MODULE}::Survey<${coinType}>`\n );\n const { handle } = data.all_events;\n\n // await new Promise((resolve) => setTimeout(resolve, 1000))\n\n try {\n const dataPredict = await client.getTableItem(handle, {\n key_type: `${MODULE_ADDRESS[chainId]}::${INFORMATION_MODULE}::EventID`,\n value_type: `${MODULE_ADDRESS[chainId]}::${SURVEY_MODULE}::Event<${coinType}>`,\n key: {\n creator,\n description:\n options.length !== 0\n ? `${description}?#(${coinType})?#${getOptionHashValue(options)}`\n : description,\n },\n });\n return dataPredict;\n } catch (error: any) {\n return error;\n }\n};\n\n// creator : the event creator\n// description: The event description has a data type of string.\n// options: The event options has a data type of array.\n// chainId: The network chainId\nexport const getSurveyNFTEventByEventID = async (\n creator: HexString,\n description: string,\n options: string[],\n chainId: IChainID[\"value\"]\n) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const { data }: any = await client.getAccountResource(\n MODULE_ADDRESS[chainId],\n `${MODULE_ADDRESS[chainId]}::${SURVEY_NFT_MODULE}::SurveyNft`\n );\n const { handle } = data.all_events;\n\n try {\n const dataPredict = await client.getTableItem(handle, {\n key_type: `${MODULE_ADDRESS[chainId]}::${INFORMATION_MODULE}::EventID`,\n value_type: `${MODULE_ADDRESS[chainId]}::${SURVEY_NFT_MODULE}::Event`,\n key: {\n creator,\n description:\n options.length !== 0\n ? `${description}?#${getOptionHashValue(options)}`\n : description,\n },\n });\n return dataPredict;\n } catch (error: any) {\n return error;\n }\n};\n\nexport const getTokenBalance = async (\n owner: HexString,\n itemName: string,\n chainId: IChainID[\"value\"]\n) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const tokenClient = new TokenClient(client);\n const tokenId: any = {\n token_data_id: {\n creator: RESOURCE_ADDRESS[chainId],\n collection: COLLECTION[chainId],\n name: itemName,\n },\n property_version: \"0\",\n };\n let amount: string = \"\";\n await tokenClient.getTokenForAccount(owner, tokenId).then((res) => {\n amount = res.amount;\n });\n return amount;\n};\n\nexport const getTokenForAccount = (\n owner: string,\n itemName: string,\n chainId: IChainID['value'] = 2\n) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const tokenClient = new TokenClient(client);\n const tokenId: any = {\n token_data_id: {\n creator: RESOURCE_ADDRESS[chainId],\n collection: COLLECTION[chainId],\n name: itemName,\n },\n property_version: '0',\n };\n return tokenClient\n .getTokenForAccount(owner, tokenId)\n .then((res) => res.amount);\n};\n\nexport const getMemberOperatorRole = async (chainId: IChainID[\"value\"]) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const { data }: any = await client.getAccountResource(\n MODULE_ADDRESS[chainId],\n `${MODULE_ADDRESS[chainId]}::access_control::AccessControl`\n );\n const operator = data.role.data.filter(\n (item: any) => item.key === \"Operator\"\n )[0].value;\n return operator;\n};\n\nexport const getServiceFee = async (chainId: IChainID[\"value\"]) => {\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const { data }: any = await client.getAccountResource(\n MODULE_ADDRESS[chainId],\n `${MODULE_ADDRESS[chainId]}::information_data_factory::Information`\n );\n return data.fee_numerator / data.fee_denominator;\n};\n\nexport const getOptionPrice = async (\n creator: HexString,\n description: string,\n options: string[],\n chainId: IChainID[\"value\"],\n token_name: string\n) => {\n const event = await getPredictEventByEventID(\n creator,\n description,\n options,\n chainId\n );\n const client = new AptosClient(APTOS_NODE_URL[chainId]);\n const tokenClient = new TokenClient(client);\n let totalSupply = 0;\n let count = 0;\n await Promise.all(\n options.map(async (option) => {\n const tokenName = `${token_name.split(\"-\")[0]}- ${option}`;\n const tokenData = await tokenClient.getTokenData(\n RESOURCE_ADDRESS[chainId],\n COLLECTION[chainId],\n tokenName\n );\n if (tokenData.supply > 0) {\n totalSupply += Number(tokenData.supply);\n count += 1;\n }\n })\n );\n if (event?.reward?.value < 100000000 || count < 2) {\n return 1;\n }\n const tokenData = await tokenClient.getTokenData(\n RESOURCE_ADDRESS[chainId],\n COLLECTION[chainId],\n token_name\n );\n const initScale = 1 / (options.length - 1);\n const poolScale = tokenData.supply / (totalSupply - tokenData.supply);\n const rewardRate = totalSupply / tokenData.supply;\n const tokenRate = 1 - (initScale - poolScale);\n return (rewardRate / ((rewardRate - 1) * tokenRate + 1)).toFixed(4);\n};\n","import { sha256 } from \"js-sha256\";\n\nexport const getOptionHashValue = (options: string[]) => {\n let hashOptionsValue = \"\";\n let i = 0;\n while (i < options.length) {\n const hash = sha256.create();\n hash.update(options[i]);\n hashOptionsValue += +hash.array().pop()!;\n i += 1;\n }\n return hashOptionsValue;\n};\n","import { HexString } from \"aptos\";\nimport axios from \"axios\";\nimport { IChainID } from \"./types\";\nimport { GraphQLEndpoint, MODULE_ADDRESS } from \"./constants\";\nimport { getPredictEventByEventID } from \"./getResource\";\n\nexport const getEventByCreator = async (\n creator: HexString,\n chainID: IChainID[\"value\"]\n) => {\n const body = {\n operationName: \"GetEventByCreator\",\n query: `query GetEventByCreator {\n events(\n where: {account_address: {_like: \"${MODULE_ADDRESS[chainID]}\"}, type: {_regex: \"CreateEvent\"}}\n ) {\n data\n }\n }\n `,\n variables: null,\n };\n const data = await axios.post(GraphQLEndpoint[chainID], body);\n const results: any[] = [];\n await Promise.all(\n data.data.data.events\n ?.reduce(\n (a: any[], event: any) =>\n event.data.creator === creator ? [...a, event] : a,\n []\n )\n .map(async (value: any) => {\n const result = await getPredictEventByEventID(\n value.data.event_id.creator,\n value.data.event_id.description,\n [],\n chainID\n );\n results.push(result);\n })\n );\n return results;\n};\n\nexport const getJoinedEvent = async (\n predictor: HexString,\n chainID: IChainID[\"value\"]\n) => {\n const body = {\n operationName: \"GetEventByCreator\",\n query: `query GetEventByCreator {\n events(\n where: {account_address: {_like: \"${MODULE_ADDRESS[chainID]}\"}, type: {_regex: \"PredictEvent\"}}\n ) {\n data\n }\n }\n `,\n variables: null,\n };\n const data = await axios.post(GraphQLEndpoint[chainID], body);\n const results: any[] = [];\n await Promise.all(\n data.data.data.events\n ?.reduce(\n (a: any[], event: any) =>\n event.data.predicter === predictor ? [...a, event] : a,\n []\n )\n .map(async (value: any) => {\n const result = await getPredictEventByEventID(\n value.data.event_id.creator,\n value.data.event_id.description,\n [],\n chainID\n );\n results.push(result);\n })\n );\n return results;\n};\n","import { HexString, Types } from \"aptos\";\nimport {\n COLLECTION,\n INFORMATION_MODULE,\n MODULE_ADDRESS,\n RESOURCE_ADDRESS,\n} from \"./constants\";\nimport { IChainID } from \"./types\";\n\nconst createPredictEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n uri: string,\n options: string[],\n start_time: number,\n end_time: number,\n payout_time: number,\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::create_predict_event`,\n type_arguments: [type_arguments],\n arguments: [\n `${description}?#(${type_arguments})`,\n uri,\n options,\n start_time,\n end_time,\n payout_time,\n ],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst createSurveyEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n uri: string,\n reward: number,\n options: string[],\n start_time: number,\n end_time: number,\n payout_time: number,\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::create_survey_event`,\n type_arguments: [type_arguments],\n arguments: [\n `${description}?#(${type_arguments})`,\n uri,\n reward,\n options,\n start_time,\n end_time,\n payout_time,\n ],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst createSurveyNFTEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n collection: string,\n uri: string,\n options: string[],\n start_time: number,\n end_time: number,\n payout_time: number\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::create_survey_nft_event`,\n type_arguments: [],\n arguments: [\n description,\n collection,\n uri,\n options,\n start_time,\n end_time,\n payout_time,\n ],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst predictEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n option: string,\n amount: number,\n event_creator: HexString,\n event_description: String,\n event_options: string[],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::predict_event`,\n type_arguments: [type_arguments],\n arguments: [\n option,\n amount,\n event_creator,\n `${event_description}?#(${type_arguments})`,\n event_options,\n ],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst surveyEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n option: string,\n event_creator: HexString,\n event_description: String,\n event_options: string[],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::survey_event`,\n type_arguments: [type_arguments],\n arguments: [\n option,\n event_creator,\n `${event_description}?#(${type_arguments})`,\n event_options,\n ],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst surveyNFTEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n option: string,\n amount: number,\n event_creator: HexString,\n event_description: String,\n event_options: string[],\n token_creator: HexString,\n collection: string,\n token_name: string,\n token_version: number\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::survey_nft_event`,\n type_arguments: [],\n arguments: [\n option,\n amount,\n event_creator,\n event_description,\n event_options,\n token_creator,\n collection,\n token_name,\n token_version,\n ],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst redeemPredictEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n name: string,\n amount: number,\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::redeem_predict_event`,\n type_arguments: [type_arguments],\n arguments: [RESOURCE_ADDRESS[chainID], COLLECTION[chainID], name, amount],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst redeemSurveyEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n name: string,\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::redeem_survey_event`,\n type_arguments: [type_arguments],\n arguments: [RESOURCE_ADDRESS[chainID], COLLECTION[chainID], name],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst redeemSurveyNFTEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n name: string,\n amount: number\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::redeem_survey_nft_event`,\n type_arguments: [],\n arguments: [RESOURCE_ADDRESS[chainID], COLLECTION[chainID], name, amount],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst finalizePredictEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n options: string[],\n outcomes: number[],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::finalize_predict_event`,\n type_arguments: [type_arguments],\n arguments: [`${description}?#(${type_arguments})`, options, outcomes],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst finalizeSurveyEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n options: string[],\n outcomes: number[],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::finalize_survey_event`,\n type_arguments: [type_arguments],\n arguments: [`${description}?#(${type_arguments})`, options, outcomes],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst finalizeSurveyNFtEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n options: string[],\n outcomes: number[]\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::finalize_survey_nft_event`,\n type_arguments: [],\n arguments: [description, options, outcomes],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst cancelPredictEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n options: string[],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::cancel_predict_event`,\n type_arguments: [type_arguments],\n arguments: [`${description}?#(${type_arguments})`, options],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst cancelSurveyEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n options: string[],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::cancel_survey_event`,\n type_arguments: [type_arguments],\n arguments: [`${description}?#(${type_arguments})`, options],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst cancelSurveyNFTEvent = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n description: string,\n options: string[]\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::cancel_survey_nft_event`,\n type_arguments: [],\n arguments: [description, options],\n };\n return signAndSubmitTransactionCallback(payload);\n};\n\nconst registerCoinType = async (\n signAndSubmitTransactionCallback: (\n transaction: Types.TransactionPayload,\n options?: any\n ) => Promise<any>,\n chainID: IChainID[\"value\"],\n type_arguments: string\n): Promise<any> => {\n const payload: Types.TransactionPayload = {\n type: \"entry_function_payload\",\n function: `${MODULE_ADDRESS[chainID]}::${INFORMATION_MODULE}::register_coin_type`,\n type_arguments: [type_arguments],\n arguments: [],\n };\n return signAndSubmitTransactionCallback(payload);\n};\nexport {\n createPredictEvent,\n createSurveyEvent,\n createSurveyNFTEvent,\n predictEvent,\n surveyEvent,\n surveyNFTEvent,\n redeemPredictEvent,\n redeemSurveyEvent,\n redeemSurveyNFTEvent,\n finalizePredictEvent,\n finalizeSurveyNFtEvent,\n cancelPredictEvent,\n cancelSurveyEvent,\n cancelSurveyNFTEvent,\n registerCoinType,\n finalizeSurveyEvent,\n};\n"],"mappings":"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A,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAUA,MAAM,qBACJ,aACA,YACA,KACA,SACA,YACA,UACA,aACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAIA,MAAM,aACJ,QACA,QACA,eACA,mBACA,eACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,YACJ,QACA,eACA,mBACA,eACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAQA,MAAM,eACJ,QACA,QACA,eACA,mBACA,eACA,eACA,YACA,YACA,eACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAKA,MAAM,qBACJ,aACA,SACA,UACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAKA,MAAM,oBACJ,aACA,SACA,UACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAKA,MAAM,uBACJ,aACA,SACA,UACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,mBACJ,MACA,QACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,kBAAkB,MAAc,gBAAsC;AAC1E,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,qBAAqB,MAAc,QAA8B;AACrE,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,aACA,SACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,kBACJ,aACA,SACA,gBACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,qBACJ,aACA,SACc;AACd,WAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":["AptosClient","HexString","tokenData","AptosClient","HexString"]}