{"version":3,"sources":["../../src/message/types.ts"],"sourcesContent":["import { MethodName } from '../index';\r\nimport type { AccountInfo, NetworkInfo, IInitData } from '../types';\r\nexport interface IMetaData {\r\n  gameId: string;\r\n  userId: string;\r\n  walletAddress: string;\r\n}\r\n\r\nexport interface IMessageData {\r\n  uuid: string,\r\n  methodName: string,\r\n  from?: string | null,\r\n  metadata: IMetaData,\r\n  initData?: IInitData,\r\n  data: unknown\r\n}\r\n\r\nexport interface IResponseMessageData {\r\n  uuid: string,\r\n  status: string,\r\n  data: any,\r\n  methodName: string,\r\n  errMsg?: string\r\n}\r\n\r\nexport interface IRequestData {\r\n  method: MethodName,\r\n  data?: unknown,\r\n  initData?: IInitData,\r\n}\r\n\r\nexport enum TronSDKEvent {\r\n\tCONNECT = 'connect',\r\n\tGETACCOUNT = 'getAccount',\r\n\tDISCONNECT = 'disconnect',\r\n\tACCOUNT_CHANGE = 'accountChange',\r\n\tNETWORK_CHANGE ='luffa_switchChain',\r\n\tCHAIN_CHANGED ='chainChanged',\r\n};\r\nexport type TronSDKEventType = (typeof TronSDKEvent)[keyof typeof TronSDKEvent];\r\nexport interface TronSDKEventsMap {\r\n\t[TronSDKEvent.CONNECT]: AccountInfo;\r\n\t[TronSDKEvent.DISCONNECT]: void;\r\n\t[TronSDKEvent.ACCOUNT_CHANGE]: AccountInfo;\r\n\t[TronSDKEvent.GETACCOUNT]: AccountInfo[];\r\n\t[TronSDKEvent.NETWORK_CHANGE]: NetworkInfo;\r\n\t[TronSDKEvent.CHAIN_CHANGED]: string;\r\n}\r\nexport type TronSDKEventPayload<T extends TronSDKEventType> = T extends keyof TronSDKEventsMap ? TronSDKEventsMap[T] : undefined;\r\n\r\nexport type TronSDKEventListenersType = {\r\n\t[K in TronSDKEventType]?: Array<(payload: TronSDKEventPayload<K>) => void>;\r\n};\r\n"],"mappings":"AA+BO,IAAKA,OACXA,EAAA,QAAU,UACVA,EAAA,WAAa,aACbA,EAAA,WAAa,aACbA,EAAA,eAAiB,gBACjBA,EAAA,eAAgB,oBAChBA,EAAA,cAAe,eANJA,OAAA","names":["TronSDKEvent"]}