@sentio/sdk 1.22.2 → 1.23.0

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 (51) hide show
  1. package/lib/aptos/aptos-processor.js +10 -13
  2. package/lib/aptos/aptos-processor.js.map +1 -1
  3. package/lib/aptos/context.d.ts +3 -2
  4. package/lib/aptos/context.js +5 -3
  5. package/lib/aptos/context.js.map +1 -1
  6. package/lib/aptos/index.d.ts +2 -2
  7. package/lib/aptos/index.js +3 -3
  8. package/lib/aptos/index.js.map +1 -1
  9. package/lib/aptos/{bind-options.d.ts → network.d.ts} +3 -0
  10. package/lib/aptos/network.js +41 -0
  11. package/lib/aptos/network.js.map +1 -0
  12. package/lib/aptos/runtime.d.ts +1 -1
  13. package/lib/aptos/runtime.js.map +1 -1
  14. package/lib/aptos/types.d.ts +1 -1
  15. package/lib/aptos/types.js.map +1 -1
  16. package/lib/aptos/utils.d.ts +1 -1
  17. package/lib/aptos/utils.js.map +1 -1
  18. package/lib/aptos-codegen/codegen.d.ts +12 -5
  19. package/lib/aptos-codegen/codegen.js +81 -36
  20. package/lib/aptos-codegen/codegen.js.map +1 -1
  21. package/lib/aptos-codegen/typegen.d.ts +1 -1
  22. package/lib/aptos-codegen/typegen.js.map +1 -1
  23. package/lib/builtin/aptos/0x1.d.ts +1 -1
  24. package/lib/builtin/aptos/0x1.js +16 -16
  25. package/lib/builtin/aptos/0x1.js.map +1 -1
  26. package/lib/builtin/aptos/0x3.d.ts +1 -1
  27. package/lib/builtin/aptos/0x3.js +3 -3
  28. package/lib/builtin/aptos/0x3.js.map +1 -1
  29. package/lib/cli/webpack.config.js +2 -1
  30. package/lib/service.js.map +1 -1
  31. package/lib/tests/types/aptos/souffle.d.ts +1 -1
  32. package/lib/tests/types/aptos/souffle.js +2 -2
  33. package/lib/tests/types/aptos/souffle.js.map +1 -1
  34. package/package.json +2 -2
  35. package/src/aptos/aptos-processor.ts +28 -13
  36. package/src/aptos/context.ts +12 -4
  37. package/src/aptos/index.ts +2 -2
  38. package/src/aptos/network.ts +39 -0
  39. package/src/aptos/runtime.ts +1 -1
  40. package/src/aptos/types.ts +1 -1
  41. package/src/aptos/utils.ts +1 -1
  42. package/src/aptos-codegen/codegen.ts +97 -39
  43. package/src/aptos-codegen/typegen.ts +1 -1
  44. package/src/builtin/aptos/0x1.ts +17 -17
  45. package/src/builtin/aptos/0x3.ts +4 -4
  46. package/src/cli/webpack.config.js +2 -1
  47. package/src/service.ts +0 -1
  48. package/src/tests/types/aptos/souffle.ts +3 -3
  49. package/lib/aptos/bind-options.js +0 -16
  50. package/lib/aptos/bind-options.js.map +0 -1
  51. package/src/aptos/bind-options.ts +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Block, Log } from '@ethersproject/abstract-provider'\nimport { CallContext, ServerError, Status } from 'nice-grpc'\nimport { SOL_MAINMET_ID, SUI_DEVNET_ID } from './utils/chain'\n\nimport {\n AptosCallHandlerConfig,\n AptosEventHandlerConfig,\n BlockBinding,\n ContractConfig,\n DataBinding,\n HandlerType,\n LogFilter,\n LogHandlerConfig,\n ProcessBindingResponse,\n ProcessBindingsRequest,\n ProcessBlocksRequest,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessInstructionsRequest,\n ProcessorServiceImplementation,\n ProcessResult,\n ProcessTransactionsRequest,\n StartRequest,\n TemplateInstance,\n} from './gen'\n\nimport { Empty } from './gen/google/protobuf/empty'\nimport Long from 'long'\nimport { TextDecoder } from 'util'\nimport { Trace } from './core'\nimport { Instruction } from '@project-serum/anchor'\nimport { account } from './builtin/aptos/0x1'\n\nconst DEFAULT_MAX_BLOCK = Long.ZERO\n\nconst USER_PROCESSOR = 'user_processor'\n\nexport class ProcessorServiceImpl implements ProcessorServiceImplementation {\n private eventHandlers: ((event: Log) => Promise<ProcessResult>)[] = []\n private traceHandlers: ((trace: Trace) => Promise<ProcessResult>)[] = []\n private blockHandlers: ((block: Block) => Promise<ProcessResult>)[] = []\n private aptosEventHandlers: ((event: any) => Promise<ProcessResult>)[] = []\n private aptosCallHandlers: ((func: any) => Promise<ProcessResult>)[] = []\n\n // map from chain id to list of processors\n // private blockHandlers = new Map<string, ((block: Block) => Promise<ProcessResult>)[]>()\n // private processorsByChainId = new Map<string, BaseProcessor<BaseContract, BoundContractView<BaseContract, any>>>()\n\n private started = false\n private contractConfigs: ContractConfig[]\n private templateInstances: TemplateInstance[]\n private readonly loader: () => void\n\n private readonly shutdownHandler?: () => void\n\n constructor(loader: () => void, shutdownHandler?: () => void) {\n this.loader = loader\n this.shutdownHandler = shutdownHandler\n }\n\n async getConfig(request: ProcessConfigRequest, context: CallContext): Promise<ProcessConfigResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n return {\n // TODO project setting\n config: undefined,\n contractConfigs: this.contractConfigs,\n templateInstances: this.templateInstances,\n accountConfigs: [],\n }\n }\n\n async configure() {\n this.eventHandlers = []\n this.templateInstances = []\n // this.processorsByChainId.clear()\n this.contractConfigs = []\n\n this.templateInstances = [...global.PROCESSOR_STATE.templatesInstances]\n\n // Part 1, prepare EVM processors\n for (const processor of global.PROCESSOR_STATE.processors) {\n // If server favor incremental update this need to change\n // Start basic config for contract\n const chainId = processor.getChainId()\n // this.processorsByChainId.set(chainId, processor)\n\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: processor.config.name,\n chainId: chainId.toString(),\n address: processor.config.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: processor.config.startBlock,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n if (processor.config.endBlock) {\n contractConfig.endBlock = processor.config.endBlock\n }\n\n // Step 1. Prepare all the block handlers\n for (const blockHandler of processor.blockHandlers) {\n const handlerId = this.blockHandlers.push(blockHandler) - 1\n // TODO wrap the block handler into one\n\n contractConfig.blockConfigs.push({\n handlerId: handlerId,\n })\n }\n\n // Step 2. Prepare all trace handlers\n for (const traceHandler of processor.traceHandlers) {\n const handlerId = this.traceHandlers.push(traceHandler.handler) - 1\n contractConfig.traceConfigs.push({\n signature: traceHandler.signature,\n handlerId: handlerId,\n })\n }\n\n // Step 3. Prepare all the event handlers\n for (const eventsHandler of processor.eventHandlers) {\n // associate id with filter\n const handlerId = this.eventHandlers.push(eventsHandler.handler) - 1\n const logConfig: LogHandlerConfig = {\n handlerId: handlerId,\n filters: [],\n }\n\n for (const filter of eventsHandler.filters) {\n if (!filter.topics) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Topic should not be null')\n }\n const logFilter: LogFilter = {\n topics: [],\n }\n\n for (const ts of filter.topics) {\n let hashes: string[] = []\n if (Array.isArray(ts)) {\n hashes = hashes.concat(ts)\n } else if (ts) {\n hashes.push(ts)\n }\n logFilter.topics.push({ hashes: hashes })\n }\n logConfig.filters.push(logFilter)\n }\n contractConfig.logConfigs.push(logConfig)\n }\n\n // Finish up a contract\n this.contractConfigs.push(contractConfig)\n }\n\n // Part 2, prepare solana constractors\n for (const solanaProcessor of global.PROCESSOR_STATE.solanaProcessors) {\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: solanaProcessor.contractName,\n chainId: SOL_MAINMET_ID,\n address: solanaProcessor.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: solanaProcessor.config.startSlot,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: {\n innerInstruction: solanaProcessor.processInnerInstruction,\n parsedInstruction: solanaProcessor.fromParsedInstruction !== null,\n rawDataInstruction: solanaProcessor.decodeInstruction !== null,\n },\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n this.contractConfigs.push(contractConfig)\n }\n\n // Part 3, prepare sui constractors\n for (const suiProcessor of global.PROCESSOR_STATE.suiProcessors) {\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: 'sui contract',\n chainId: SUI_DEVNET_ID,\n address: suiProcessor.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: suiProcessor.config.startSeqNumber,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n this.contractConfigs.push(contractConfig)\n }\n\n // Part 3, prepare aptos constractors\n for (const aptosProcessor of global.PROCESSOR_STATE.aptosProcessors) {\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: aptosProcessor.moduleName,\n chainId: aptosProcessor.getChainId(),\n address: aptosProcessor.config.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: aptosProcessor.config.startVersion,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n // 1. Prepare event handlers\n for (const handler of aptosProcessor.eventHandlers) {\n const handlerId = this.aptosEventHandlers.push(handler.handler) - 1\n const eventHandlerConfig: AptosEventHandlerConfig = {\n filters: handler.filters.map((f) => {\n return {\n type: f.type,\n account: f.account || '',\n }\n }),\n handlerId,\n }\n contractConfig.aptosEventConfigs.push(eventHandlerConfig)\n }\n\n // 2. Prepare function handlers\n for (const handler of aptosProcessor.callHandlers) {\n const handlerId = this.aptosCallHandlers.push(handler.handler) - 1\n const functionHandlerConfig: AptosCallHandlerConfig = {\n filters: handler.filters.map((filter) => {\n return {\n function: filter.function,\n typeArguments: filter.typeArguments || [],\n withTypeArguments: filter.typeArguments ? true : false,\n includeFailed: filter.includeFailed || false,\n }\n }),\n handlerId,\n }\n contractConfig.aptosCallConfigs.push(functionHandlerConfig)\n }\n this.contractConfigs.push(contractConfig)\n }\n }\n\n async start(request: StartRequest, context: CallContext): Promise<Empty> {\n if (this.started) {\n return {}\n }\n\n try {\n this.loader()\n } catch (e) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Failed to load processor: ' + errorString(e))\n }\n\n for (const instance of request.templateInstances) {\n const template = global.PROCESSOR_STATE.templates[instance.templateId]\n if (!template) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Invalid template contract:' + instance)\n }\n if (!instance.contract) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Contract Empty from:' + instance)\n }\n template.bind({\n name: instance.contract.name,\n address: instance.contract.address,\n network: Number(instance.contract.chainId),\n startBlock: instance.startBlock,\n endBlock: instance.endBlock,\n })\n }\n try {\n await this.configure()\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'Failed to start processor : ' + errorString(e))\n }\n this.started = true\n return {}\n }\n\n async stop(request: Empty, context: CallContext): Promise<Empty> {\n console.log('Server Shutting down in 5 seconds')\n if (this.shutdownHandler) {\n setTimeout(this.shutdownHandler, 5000)\n }\n return {}\n }\n\n async processBindings(request: ProcessBindingsRequest, options?: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.bindings.map((binding) => this.processBinding(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n let updated = false\n if (\n global.PROCESSOR_STATE.templatesInstances &&\n this.templateInstances.length != global.PROCESSOR_STATE.templatesInstances.length\n ) {\n await this.configure()\n updated = true\n }\n\n return {\n result,\n configUpdated: updated,\n }\n }\n\n async processBinding(request: DataBinding, options?: CallContext): Promise<ProcessResult> {\n switch (request.handlerType) {\n case HandlerType.APT_CALL:\n return this.processAptosFunctionCall(request)\n case HandlerType.APT_EVENT:\n return this.processAptosEvent(request)\n default:\n throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)\n }\n }\n\n async processLogs(request: ProcessBindingsRequest, context: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises: Promise<ProcessResult>[] = []\n for (const l of request.bindings) {\n if (!l.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Log can't be null\")\n }\n // const jsonString = Buffer.from(l.log.raw.buffer).toString(\"utf-8\")\n // const jsonString = String.fromCharCode.apply(null, l.log.raw)\n\n try {\n const jsonString = Utf8ArrayToStr(l.data.raw)\n const log: Log = JSON.parse(jsonString)\n const handler = this.eventHandlers[l.handlerId]\n const promise = handler(log).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing log: ' + jsonString + '\\n' + errorString(e))\n })\n\n promises.push(promise)\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'error parse log: ' + l)\n }\n }\n\n const result = mergeProcessResults(await Promise.all(promises))\n\n let updated = false\n if (\n global.PROCESSOR_STATE.templatesInstances &&\n this.templateInstances.length != global.PROCESSOR_STATE.templatesInstances.length\n ) {\n await this.configure()\n updated = true\n }\n\n recordRuntimeInfo(result, HandlerType.ETH_LOG)\n return {\n result,\n configUpdated: updated,\n }\n }\n\n async processTransactions(\n request: ProcessTransactionsRequest,\n context: CallContext\n ): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service not started.')\n }\n\n const result = ProcessResult.fromPartial({})\n\n if (request.chainId.toLowerCase().startsWith('sui') && global.PROCESSOR_STATE.suiProcessors) {\n const processorPromises: Promise<void>[] = []\n for (const txn of request.transactions) {\n processorPromises.push(\n new Promise((resolve, _) => {\n for (const processor of global.PROCESSOR_STATE.suiProcessors) {\n const res = processor.handleTransaction(\n JSON.parse(new TextDecoder().decode(txn.raw)),\n txn.slot ?? Long.fromNumber(0)\n )\n if (res) {\n res.gauges.forEach((g) => result.gauges.push(g))\n res.counters.forEach((c) => result.counters.push(c))\n res.logs.forEach((l) => result.logs.push(l))\n }\n }\n resolve()\n })\n )\n }\n await Promise.all(processorPromises)\n }\n\n // if (request.chainId.toLowerCase().startsWith('apt') && global.PROCESSOR_STATE.aptosProcessors) {\n // const processorPromises: Promise<void>[] = []\n // for (const txn of request.transactions) {\n // processorPromises.push(\n // new Promise((resolve, _) => {\n // for (const processor of global.PROCESSOR_STATE.aptosProcessors) {\n // if (processor.address === txn.programAccountId!) {\n // const res = processor.handleTransaction(\n // JSON.parse(new TextDecoder().decode(txn.raw)),\n // txn.slot ?? Long.fromNumber(0)\n // )\n // if (res) {\n // res.gauges.forEach((g) => result.gauges.push(g))\n // res.counters.forEach((c) => result.counters.push(c))\n // res.logs.forEach((l) => result.logs.push(l))\n // }\n // }\n // }\n // resolve()\n // })\n // )\n // }\n // await Promise.all(processorPromises)\n // }\n\n recordRuntimeInfo(result, HandlerType.TRANSACTION)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processInstructions(\n request: ProcessInstructionsRequest,\n context: CallContext\n ): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service not started.')\n }\n\n const result = ProcessResult.fromPartial({})\n\n // Only have instruction handlers for solana processors\n if (global.PROCESSOR_STATE.solanaProcessors) {\n const processorPromises: Promise<void>[] = []\n for (const instruction of request.instructions) {\n if (!instruction) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'instruction cannot be null')\n }\n\n processorPromises.push(\n new Promise((resolve, _) => {\n for (const processor of global.PROCESSOR_STATE.solanaProcessors) {\n if (processor.address === instruction.programAccountId) {\n let parsedInstruction: Instruction | null = null\n if (instruction.parsed) {\n parsedInstruction = processor.getParsedInstruction(\n JSON.parse(new TextDecoder().decode(instruction.parsed))\n )\n } else if (instruction.instructionData) {\n parsedInstruction = processor.getParsedInstruction(instruction.instructionData)\n }\n if (parsedInstruction == null) {\n continue\n }\n const insHandler = processor.getInstructionHandler(parsedInstruction)\n if (insHandler == null) {\n continue\n }\n const res = processor.handleInstruction(\n parsedInstruction,\n instruction.accounts,\n insHandler,\n instruction.slot\n )\n res.gauges.forEach((g) => result.gauges.push(g))\n res.counters.forEach((c) => result.counters.push(c))\n res.logs.forEach((l) => result.logs.push(l))\n }\n }\n resolve()\n })\n )\n }\n\n await Promise.all(processorPromises)\n }\n\n recordRuntimeInfo(result, HandlerType.INSTRUCTION)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processBlocks(request: ProcessBlocksRequest, context: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.blockBindings.map((binding) => this.processBlock(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n recordRuntimeInfo(result, HandlerType.BLOCK)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processBlock(binding: BlockBinding): Promise<ProcessResult> {\n if (!binding.block) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Block can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.block.raw)\n\n const block: Block = JSON.parse(jsonString)\n\n const promises: Promise<ProcessResult>[] = []\n for (const handlerId of binding.handlerIds) {\n const promise = this.blockHandlers[handlerId](block).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing block: ' + block.number + '\\n' + errorString(e))\n })\n promises.push(promise)\n }\n return mergeProcessResults(await Promise.all(promises))\n }\n\n async processTraces(request: ProcessBindingsRequest, context: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.bindings.map((binding) => this.processTrace(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n recordRuntimeInfo(result, HandlerType.ETH_TRACE)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processTrace(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Trace can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.data.raw)\n const trace: Trace = JSON.parse(jsonString)\n\n return this.traceHandlers[binding.handlerId](trace).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing trace: ' + jsonString + '\\n' + errorString(e))\n })\n }\n\n async processAptosEvent(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Event can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.data.raw)\n const event = JSON.parse(jsonString)\n // only support aptos event for now\n const result = await this.aptosEventHandlers[binding.handlerId](event).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing event: ' + jsonString + '\\n' + errorString(e))\n })\n recordRuntimeInfo(result, HandlerType.APT_EVENT)\n return result\n }\n\n async processAptosFunctionCall(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Event can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.data.raw)\n const call = JSON.parse(jsonString)\n // only support aptos call for now\n const result = await this.aptosCallHandlers[binding.handlerId](call).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing call: ' + jsonString + '\\n' + errorString(e))\n })\n recordRuntimeInfo(result, HandlerType.APT_CALL)\n return result\n }\n}\n\n// https://ourcodeworld.com/articles/read/164/how-to-convert-an-uint8array-to-string-in-javascript\n/* eslint-disable */\nfunction Utf8ArrayToStr(array: Uint8Array) {\n let out, i, len, c\n let char2, char3\n\n out = ''\n len = array.length\n i = 0\n while (i < len) {\n c = array[i++]\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c)\n break\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]\n out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f))\n break\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]\n char3 = array[i++]\n out += String.fromCharCode(((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0))\n break\n }\n }\n\n return out\n}\n\nfunction mergeProcessResults(results: ProcessResult[]): ProcessResult {\n const res = ProcessResult.fromPartial({})\n\n for (const r of results) {\n res.counters = res.counters.concat(r.counters)\n res.gauges = res.gauges.concat(r.gauges)\n res.logs = res.logs.concat(r.logs)\n }\n return res\n}\n\nfunction recordRuntimeInfo(results: ProcessResult, handlerType: HandlerType) {\n results.gauges.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n\n results.counters.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n\n results.logs.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n}\n\nfunction errorString(e: Error): string {\n return e.stack || e.message\n}\n"]}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Block, Log } from '@ethersproject/abstract-provider'\nimport { CallContext, ServerError, Status } from 'nice-grpc'\nimport { SOL_MAINMET_ID, SUI_DEVNET_ID } from './utils/chain'\n\nimport {\n AptosCallHandlerConfig,\n AptosEventHandlerConfig,\n BlockBinding,\n ContractConfig,\n DataBinding,\n HandlerType,\n LogFilter,\n LogHandlerConfig,\n ProcessBindingResponse,\n ProcessBindingsRequest,\n ProcessBlocksRequest,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessInstructionsRequest,\n ProcessorServiceImplementation,\n ProcessResult,\n ProcessTransactionsRequest,\n StartRequest,\n TemplateInstance,\n} from './gen'\n\nimport { Empty } from './gen/google/protobuf/empty'\nimport Long from 'long'\nimport { TextDecoder } from 'util'\nimport { Trace } from './core'\nimport { Instruction } from '@project-serum/anchor'\n\nconst DEFAULT_MAX_BLOCK = Long.ZERO\n\nconst USER_PROCESSOR = 'user_processor'\n\nexport class ProcessorServiceImpl implements ProcessorServiceImplementation {\n private eventHandlers: ((event: Log) => Promise<ProcessResult>)[] = []\n private traceHandlers: ((trace: Trace) => Promise<ProcessResult>)[] = []\n private blockHandlers: ((block: Block) => Promise<ProcessResult>)[] = []\n private aptosEventHandlers: ((event: any) => Promise<ProcessResult>)[] = []\n private aptosCallHandlers: ((func: any) => Promise<ProcessResult>)[] = []\n\n // map from chain id to list of processors\n // private blockHandlers = new Map<string, ((block: Block) => Promise<ProcessResult>)[]>()\n // private processorsByChainId = new Map<string, BaseProcessor<BaseContract, BoundContractView<BaseContract, any>>>()\n\n private started = false\n private contractConfigs: ContractConfig[]\n private templateInstances: TemplateInstance[]\n private readonly loader: () => void\n\n private readonly shutdownHandler?: () => void\n\n constructor(loader: () => void, shutdownHandler?: () => void) {\n this.loader = loader\n this.shutdownHandler = shutdownHandler\n }\n\n async getConfig(request: ProcessConfigRequest, context: CallContext): Promise<ProcessConfigResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n return {\n // TODO project setting\n config: undefined,\n contractConfigs: this.contractConfigs,\n templateInstances: this.templateInstances,\n accountConfigs: [],\n }\n }\n\n async configure() {\n this.eventHandlers = []\n this.templateInstances = []\n // this.processorsByChainId.clear()\n this.contractConfigs = []\n\n this.templateInstances = [...global.PROCESSOR_STATE.templatesInstances]\n\n // Part 1, prepare EVM processors\n for (const processor of global.PROCESSOR_STATE.processors) {\n // If server favor incremental update this need to change\n // Start basic config for contract\n const chainId = processor.getChainId()\n // this.processorsByChainId.set(chainId, processor)\n\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: processor.config.name,\n chainId: chainId.toString(),\n address: processor.config.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: processor.config.startBlock,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n if (processor.config.endBlock) {\n contractConfig.endBlock = processor.config.endBlock\n }\n\n // Step 1. Prepare all the block handlers\n for (const blockHandler of processor.blockHandlers) {\n const handlerId = this.blockHandlers.push(blockHandler) - 1\n // TODO wrap the block handler into one\n\n contractConfig.blockConfigs.push({\n handlerId: handlerId,\n })\n }\n\n // Step 2. Prepare all trace handlers\n for (const traceHandler of processor.traceHandlers) {\n const handlerId = this.traceHandlers.push(traceHandler.handler) - 1\n contractConfig.traceConfigs.push({\n signature: traceHandler.signature,\n handlerId: handlerId,\n })\n }\n\n // Step 3. Prepare all the event handlers\n for (const eventsHandler of processor.eventHandlers) {\n // associate id with filter\n const handlerId = this.eventHandlers.push(eventsHandler.handler) - 1\n const logConfig: LogHandlerConfig = {\n handlerId: handlerId,\n filters: [],\n }\n\n for (const filter of eventsHandler.filters) {\n if (!filter.topics) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Topic should not be null')\n }\n const logFilter: LogFilter = {\n topics: [],\n }\n\n for (const ts of filter.topics) {\n let hashes: string[] = []\n if (Array.isArray(ts)) {\n hashes = hashes.concat(ts)\n } else if (ts) {\n hashes.push(ts)\n }\n logFilter.topics.push({ hashes: hashes })\n }\n logConfig.filters.push(logFilter)\n }\n contractConfig.logConfigs.push(logConfig)\n }\n\n // Finish up a contract\n this.contractConfigs.push(contractConfig)\n }\n\n // Part 2, prepare solana constractors\n for (const solanaProcessor of global.PROCESSOR_STATE.solanaProcessors) {\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: solanaProcessor.contractName,\n chainId: SOL_MAINMET_ID,\n address: solanaProcessor.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: solanaProcessor.config.startSlot,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: {\n innerInstruction: solanaProcessor.processInnerInstruction,\n parsedInstruction: solanaProcessor.fromParsedInstruction !== null,\n rawDataInstruction: solanaProcessor.decodeInstruction !== null,\n },\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n this.contractConfigs.push(contractConfig)\n }\n\n // Part 3, prepare sui constractors\n for (const suiProcessor of global.PROCESSOR_STATE.suiProcessors) {\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: 'sui contract',\n chainId: SUI_DEVNET_ID,\n address: suiProcessor.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: suiProcessor.config.startSeqNumber,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n this.contractConfigs.push(contractConfig)\n }\n\n // Part 3, prepare aptos constractors\n for (const aptosProcessor of global.PROCESSOR_STATE.aptosProcessors) {\n const contractConfig: ContractConfig = {\n processorType: USER_PROCESSOR,\n contract: {\n name: aptosProcessor.moduleName,\n chainId: aptosProcessor.getChainId(),\n address: aptosProcessor.config.address,\n abi: '',\n },\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n startBlock: aptosProcessor.config.startVersion,\n endBlock: DEFAULT_MAX_BLOCK,\n instructionConfig: undefined,\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n }\n // 1. Prepare event handlers\n for (const handler of aptosProcessor.eventHandlers) {\n const handlerId = this.aptosEventHandlers.push(handler.handler) - 1\n const eventHandlerConfig: AptosEventHandlerConfig = {\n filters: handler.filters.map((f) => {\n return {\n type: f.type,\n account: f.account || '',\n }\n }),\n handlerId,\n }\n contractConfig.aptosEventConfigs.push(eventHandlerConfig)\n }\n\n // 2. Prepare function handlers\n for (const handler of aptosProcessor.callHandlers) {\n const handlerId = this.aptosCallHandlers.push(handler.handler) - 1\n const functionHandlerConfig: AptosCallHandlerConfig = {\n filters: handler.filters.map((filter) => {\n return {\n function: filter.function,\n typeArguments: filter.typeArguments || [],\n withTypeArguments: filter.typeArguments ? true : false,\n includeFailed: filter.includeFailed || false,\n }\n }),\n handlerId,\n }\n contractConfig.aptosCallConfigs.push(functionHandlerConfig)\n }\n this.contractConfigs.push(contractConfig)\n }\n }\n\n async start(request: StartRequest, context: CallContext): Promise<Empty> {\n if (this.started) {\n return {}\n }\n\n try {\n this.loader()\n } catch (e) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Failed to load processor: ' + errorString(e))\n }\n\n for (const instance of request.templateInstances) {\n const template = global.PROCESSOR_STATE.templates[instance.templateId]\n if (!template) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Invalid template contract:' + instance)\n }\n if (!instance.contract) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Contract Empty from:' + instance)\n }\n template.bind({\n name: instance.contract.name,\n address: instance.contract.address,\n network: Number(instance.contract.chainId),\n startBlock: instance.startBlock,\n endBlock: instance.endBlock,\n })\n }\n try {\n await this.configure()\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'Failed to start processor : ' + errorString(e))\n }\n this.started = true\n return {}\n }\n\n async stop(request: Empty, context: CallContext): Promise<Empty> {\n console.log('Server Shutting down in 5 seconds')\n if (this.shutdownHandler) {\n setTimeout(this.shutdownHandler, 5000)\n }\n return {}\n }\n\n async processBindings(request: ProcessBindingsRequest, options?: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.bindings.map((binding) => this.processBinding(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n let updated = false\n if (\n global.PROCESSOR_STATE.templatesInstances &&\n this.templateInstances.length != global.PROCESSOR_STATE.templatesInstances.length\n ) {\n await this.configure()\n updated = true\n }\n\n return {\n result,\n configUpdated: updated,\n }\n }\n\n async processBinding(request: DataBinding, options?: CallContext): Promise<ProcessResult> {\n switch (request.handlerType) {\n case HandlerType.APT_CALL:\n return this.processAptosFunctionCall(request)\n case HandlerType.APT_EVENT:\n return this.processAptosEvent(request)\n default:\n throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)\n }\n }\n\n async processLogs(request: ProcessBindingsRequest, context: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises: Promise<ProcessResult>[] = []\n for (const l of request.bindings) {\n if (!l.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Log can't be null\")\n }\n // const jsonString = Buffer.from(l.log.raw.buffer).toString(\"utf-8\")\n // const jsonString = String.fromCharCode.apply(null, l.log.raw)\n\n try {\n const jsonString = Utf8ArrayToStr(l.data.raw)\n const log: Log = JSON.parse(jsonString)\n const handler = this.eventHandlers[l.handlerId]\n const promise = handler(log).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing log: ' + jsonString + '\\n' + errorString(e))\n })\n\n promises.push(promise)\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'error parse log: ' + l)\n }\n }\n\n const result = mergeProcessResults(await Promise.all(promises))\n\n let updated = false\n if (\n global.PROCESSOR_STATE.templatesInstances &&\n this.templateInstances.length != global.PROCESSOR_STATE.templatesInstances.length\n ) {\n await this.configure()\n updated = true\n }\n\n recordRuntimeInfo(result, HandlerType.ETH_LOG)\n return {\n result,\n configUpdated: updated,\n }\n }\n\n async processTransactions(\n request: ProcessTransactionsRequest,\n context: CallContext\n ): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service not started.')\n }\n\n const result = ProcessResult.fromPartial({})\n\n if (request.chainId.toLowerCase().startsWith('sui') && global.PROCESSOR_STATE.suiProcessors) {\n const processorPromises: Promise<void>[] = []\n for (const txn of request.transactions) {\n processorPromises.push(\n new Promise((resolve, _) => {\n for (const processor of global.PROCESSOR_STATE.suiProcessors) {\n const res = processor.handleTransaction(\n JSON.parse(new TextDecoder().decode(txn.raw)),\n txn.slot ?? Long.fromNumber(0)\n )\n if (res) {\n res.gauges.forEach((g) => result.gauges.push(g))\n res.counters.forEach((c) => result.counters.push(c))\n res.logs.forEach((l) => result.logs.push(l))\n }\n }\n resolve()\n })\n )\n }\n await Promise.all(processorPromises)\n }\n\n // if (request.chainId.toLowerCase().startsWith('apt') && global.PROCESSOR_STATE.aptosProcessors) {\n // const processorPromises: Promise<void>[] = []\n // for (const txn of request.transactions) {\n // processorPromises.push(\n // new Promise((resolve, _) => {\n // for (const processor of global.PROCESSOR_STATE.aptosProcessors) {\n // if (processor.address === txn.programAccountId!) {\n // const res = processor.handleTransaction(\n // JSON.parse(new TextDecoder().decode(txn.raw)),\n // txn.slot ?? Long.fromNumber(0)\n // )\n // if (res) {\n // res.gauges.forEach((g) => result.gauges.push(g))\n // res.counters.forEach((c) => result.counters.push(c))\n // res.logs.forEach((l) => result.logs.push(l))\n // }\n // }\n // }\n // resolve()\n // })\n // )\n // }\n // await Promise.all(processorPromises)\n // }\n\n recordRuntimeInfo(result, HandlerType.TRANSACTION)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processInstructions(\n request: ProcessInstructionsRequest,\n context: CallContext\n ): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service not started.')\n }\n\n const result = ProcessResult.fromPartial({})\n\n // Only have instruction handlers for solana processors\n if (global.PROCESSOR_STATE.solanaProcessors) {\n const processorPromises: Promise<void>[] = []\n for (const instruction of request.instructions) {\n if (!instruction) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'instruction cannot be null')\n }\n\n processorPromises.push(\n new Promise((resolve, _) => {\n for (const processor of global.PROCESSOR_STATE.solanaProcessors) {\n if (processor.address === instruction.programAccountId) {\n let parsedInstruction: Instruction | null = null\n if (instruction.parsed) {\n parsedInstruction = processor.getParsedInstruction(\n JSON.parse(new TextDecoder().decode(instruction.parsed))\n )\n } else if (instruction.instructionData) {\n parsedInstruction = processor.getParsedInstruction(instruction.instructionData)\n }\n if (parsedInstruction == null) {\n continue\n }\n const insHandler = processor.getInstructionHandler(parsedInstruction)\n if (insHandler == null) {\n continue\n }\n const res = processor.handleInstruction(\n parsedInstruction,\n instruction.accounts,\n insHandler,\n instruction.slot\n )\n res.gauges.forEach((g) => result.gauges.push(g))\n res.counters.forEach((c) => result.counters.push(c))\n res.logs.forEach((l) => result.logs.push(l))\n }\n }\n resolve()\n })\n )\n }\n\n await Promise.all(processorPromises)\n }\n\n recordRuntimeInfo(result, HandlerType.INSTRUCTION)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processBlocks(request: ProcessBlocksRequest, context: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.blockBindings.map((binding) => this.processBlock(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n recordRuntimeInfo(result, HandlerType.BLOCK)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processBlock(binding: BlockBinding): Promise<ProcessResult> {\n if (!binding.block) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Block can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.block.raw)\n\n const block: Block = JSON.parse(jsonString)\n\n const promises: Promise<ProcessResult>[] = []\n for (const handlerId of binding.handlerIds) {\n const promise = this.blockHandlers[handlerId](block).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing block: ' + block.number + '\\n' + errorString(e))\n })\n promises.push(promise)\n }\n return mergeProcessResults(await Promise.all(promises))\n }\n\n async processTraces(request: ProcessBindingsRequest, context: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.bindings.map((binding) => this.processTrace(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n recordRuntimeInfo(result, HandlerType.ETH_TRACE)\n return {\n result,\n configUpdated: false,\n }\n }\n\n async processTrace(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Trace can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.data.raw)\n const trace: Trace = JSON.parse(jsonString)\n\n return this.traceHandlers[binding.handlerId](trace).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing trace: ' + jsonString + '\\n' + errorString(e))\n })\n }\n\n async processAptosEvent(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Event can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.data.raw)\n const event = JSON.parse(jsonString)\n // only support aptos event for now\n const result = await this.aptosEventHandlers[binding.handlerId](event).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing event: ' + jsonString + '\\n' + errorString(e))\n })\n recordRuntimeInfo(result, HandlerType.APT_EVENT)\n return result\n }\n\n async processAptosFunctionCall(binding: DataBinding): Promise<ProcessResult> {\n if (!binding.data) {\n throw new ServerError(Status.INVALID_ARGUMENT, \"Event can't be empty\")\n }\n const jsonString = Utf8ArrayToStr(binding.data.raw)\n const call = JSON.parse(jsonString)\n // only support aptos call for now\n const result = await this.aptosCallHandlers[binding.handlerId](call).catch((e) => {\n throw new ServerError(Status.INTERNAL, 'error processing call: ' + jsonString + '\\n' + errorString(e))\n })\n recordRuntimeInfo(result, HandlerType.APT_CALL)\n return result\n }\n}\n\n// https://ourcodeworld.com/articles/read/164/how-to-convert-an-uint8array-to-string-in-javascript\n/* eslint-disable */\nfunction Utf8ArrayToStr(array: Uint8Array) {\n let out, i, len, c\n let char2, char3\n\n out = ''\n len = array.length\n i = 0\n while (i < len) {\n c = array[i++]\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c)\n break\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]\n out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f))\n break\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]\n char3 = array[i++]\n out += String.fromCharCode(((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0))\n break\n }\n }\n\n return out\n}\n\nfunction mergeProcessResults(results: ProcessResult[]): ProcessResult {\n const res = ProcessResult.fromPartial({})\n\n for (const r of results) {\n res.counters = res.counters.concat(r.counters)\n res.gauges = res.gauges.concat(r.gauges)\n res.logs = res.logs.concat(r.logs)\n }\n return res\n}\n\nfunction recordRuntimeInfo(results: ProcessResult, handlerType: HandlerType) {\n results.gauges.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n\n results.counters.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n\n results.logs.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n}\n\nfunction errorString(e: Error): string {\n return e.stack || e.message\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { aptos } from "@sentio/sdk";
2
- import { Address, MoveModule } from "aptos/src/generated";
2
+ import { Address, MoveModule } from "aptos-sdk/src/generated";
3
3
  import { acl, account, table, event } from "@sentio/sdk/src/builtin/aptos/0x1";
4
4
  import { token } from "@sentio/sdk/src/builtin/aptos/0x3";
5
5
  export declare class CandyMachine extends aptos.AptosBaseProcessor {
@@ -14,7 +14,7 @@ class CandyMachine extends sdk_1.aptos.AptosBaseProcessor {
14
14
  }
15
15
  static DEFAULT_OPTIONS = {
16
16
  address: "0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807",
17
- network: sdk_1.aptos.AptosNetwork.TEST_NET,
17
+ network: sdk_1.aptos.AptosNetwork.MAIN_NET,
18
18
  };
19
19
  static bind(options = {}) {
20
20
  return new CandyMachine({ ...CandyMachine.DEFAULT_OPTIONS, ...options });
@@ -105,7 +105,7 @@ class SouffleChefCampaign extends sdk_1.aptos.AptosBaseProcessor {
105
105
  }
106
106
  static DEFAULT_OPTIONS = {
107
107
  address: "0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807",
108
- network: sdk_1.aptos.AptosNetwork.TEST_NET,
108
+ network: sdk_1.aptos.AptosNetwork.MAIN_NET,
109
109
  };
110
110
  static bind(options = {}) {
111
111
  return new SouffleChefCampaign({
@@ -1 +1 @@
1
- {"version":3,"file":"souffle.js","sourceRoot":"","sources":["../../../../src/tests/types/aptos/souffle.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\n/* Generated modules for account 0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807 */\n\nimport { aptos } from \"@sentio/sdk\";\nimport { Address, MoveModule } from \"aptos/src/generated\";\n\nimport { acl, account, table, event } from \"@sentio/sdk/src/builtin/aptos/0x1\";\nimport { token } from \"@sentio/sdk/src/builtin/aptos/0x3\";\n\nexport class CandyMachine extends aptos.AptosBaseProcessor {\n constructor(options: aptos.AptosBindOptions) {\n super(\"CandyMachine\", options);\n }\n static DEFAULT_OPTIONS: aptos.AptosBindOptions = {\n address:\n \"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\n network: aptos.AptosNetwork.TEST_NET,\n };\n\n static bind(options: Partial<aptos.AptosBindOptions> = {}): CandyMachine {\n return new CandyMachine({ ...CandyMachine.DEFAULT_OPTIONS, ...options });\n }\n\n onEntryAddAcl(\n func: (call: CandyMachine.AddAclPayload, ctx: aptos.AptosContext) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::add_acl\",\n });\n return this;\n }\n\n onEntryCreateCandyMachine(\n func: (\n call: CandyMachine.CreateCandyMachinePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::create_candy_machine\",\n });\n return this;\n }\n\n onEntryCreateCollection(\n func: (\n call: CandyMachine.CreateCollectionPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::create_collection\",\n });\n return this;\n }\n\n onEntryPullToken(\n func: (\n call: CandyMachine.PullTokenPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::pull_token\",\n });\n return this;\n }\n\n onEntryUpdateTokenProperty(\n func: (\n call: CandyMachine.UpdateTokenPropertyPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::update_token_property\",\n });\n return this;\n }\n\n loadTypesInternal(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n}\n\nexport namespace CandyMachine {\n export class ACLBox<T0> {\n box: acl.ACL;\n }\n\n export class Counter<T0> {\n counter: bigint;\n }\n\n export class Property<T0> {\n payee: Address;\n collection: string;\n token_base_name: string;\n description: string;\n maximum: bigint;\n maximum_per_address: bigint;\n uri: string;\n special_uri: string;\n mod_num: bigint;\n mutate_setting: Boolean[];\n royalty_payee_address: Address;\n royalty_points_denominator: bigint;\n royalty_points_numerator: bigint;\n token_mutate_config: token.TokenMutabilityConfig;\n property_keys: string[];\n property_values: string[];\n property_types: string[];\n coin_per_token: bigint;\n }\n\n export class ResourceAccountCap<T0> {\n cap: account.SignerCapability;\n }\n\n export interface AddAclPayload\n extends aptos.TypedEntryFunctionPayload<[Address]> {\n arguments_typed: [Address];\n type_arguments: [string];\n }\n\n export interface CreateCandyMachinePayload\n extends aptos.TypedEntryFunctionPayload<[string]> {\n arguments_typed: [string];\n type_arguments: [string];\n }\n\n export interface CreateCollectionPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n string,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint\n ]\n > {\n arguments_typed: [\n Address,\n string,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint\n ];\n type_arguments: [string];\n }\n\n export interface PullTokenPayload\n extends aptos.TypedEntryFunctionPayload<[Address, string, bigint]> {\n arguments_typed: [Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface UpdateTokenPropertyPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ]\n > {\n arguments_typed: [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ];\n type_arguments: [string];\n }\n\n export function loadTypes(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n export const ABI: MoveModule = JSON.parse(\n '{\"address\":\"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\"name\":\"CandyMachine\",\"friends\":[],\"exposed_functions\":[{\"name\":\"add_acl\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\"],\"return\":[]},{\"name\":\"create_candy_machine\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"0x1::string::String\"],\"return\":[]},{\"name\":\"create_collection\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"u64\",\"vector<bool>\",\"address\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\",\"u64\"],\"return\":[]},{\"name\":\"pull_token\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"update_token_property\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\"],\"return\":[]}],\"structs\":[{\"name\":\"ACLBox\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"box\",\"type\":\"0x1::acl::ACL\"}]},{\"name\":\"Counter\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"counter\",\"type\":\"u64\"}]},{\"name\":\"Property\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\",\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"payee\",\"type\":\"address\"},{\"name\":\"collection\",\"type\":\"0x1::string::String\"},{\"name\":\"token_base_name\",\"type\":\"0x1::string::String\"},{\"name\":\"description\",\"type\":\"0x1::string::String\"},{\"name\":\"maximum\",\"type\":\"u64\"},{\"name\":\"maximum_per_address\",\"type\":\"u64\"},{\"name\":\"uri\",\"type\":\"0x1::string::String\"},{\"name\":\"special_uri\",\"type\":\"0x1::string::String\"},{\"name\":\"mod_num\",\"type\":\"u64\"},{\"name\":\"mutate_setting\",\"type\":\"vector<bool>\"},{\"name\":\"royalty_payee_address\",\"type\":\"address\"},{\"name\":\"royalty_points_denominator\",\"type\":\"u64\"},{\"name\":\"royalty_points_numerator\",\"type\":\"u64\"},{\"name\":\"token_mutate_config\",\"type\":\"0x3::token::TokenMutabilityConfig\"},{\"name\":\"property_keys\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"property_values\",\"type\":\"vector<vector<u8>>\"},{\"name\":\"property_types\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"coin_per_token\",\"type\":\"u64\"}]},{\"name\":\"ResourceAccountCap\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"cap\",\"type\":\"0x1::account::SignerCapability\"}]}]}'\n );\n}\n\nexport class SouffleChefCampaign extends aptos.AptosBaseProcessor {\n constructor(options: aptos.AptosBindOptions) {\n super(\"SouffleChefCampaign\", options);\n }\n static DEFAULT_OPTIONS: aptos.AptosBindOptions = {\n address:\n \"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\n network: aptos.AptosNetwork.TEST_NET,\n };\n\n static bind(\n options: Partial<aptos.AptosBindOptions> = {}\n ): SouffleChefCampaign {\n return new SouffleChefCampaign({\n ...SouffleChefCampaign.DEFAULT_OPTIONS,\n ...options,\n });\n }\n\n onEntryAddAcl(\n func: (\n call: SouffleChefCampaign.AddAclPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::add_acl\",\n });\n return this;\n }\n\n onEntryAddBurnTokenRule(\n func: (\n call: SouffleChefCampaign.AddBurnTokenRulePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::add_burn_token_rule\",\n });\n return this;\n }\n\n onEntryBatchAddAcl(\n func: (\n call: SouffleChefCampaign.BatchAddAclPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::batch_add_acl\",\n });\n return this;\n }\n\n onEntryBurnAndEnjoy(\n func: (\n call: SouffleChefCampaign.BurnAndEnjoyPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::burn_and_enjoy\",\n });\n return this;\n }\n\n onEntryClaim(\n func: (\n call: SouffleChefCampaign.ClaimPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::claim\",\n });\n return this;\n }\n\n onEntryCreateCandyMachine(\n func: (\n call: SouffleChefCampaign.CreateCandyMachinePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::create_candy_machine\",\n });\n return this;\n }\n\n onEntryCreateCollection(\n func: (\n call: SouffleChefCampaign.CreateCollectionPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::create_collection\",\n });\n return this;\n }\n\n onEntryPullToken(\n func: (\n call: SouffleChefCampaign.PullTokenPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::pull_token\",\n });\n return this;\n }\n\n onEntryPullTokenV2(\n func: (\n call: SouffleChefCampaign.PullTokenV2Payload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::pull_token_v2\",\n });\n return this;\n }\n\n onEntryRemoveBurnTokenRule(\n func: (\n call: SouffleChefCampaign.RemoveBurnTokenRulePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::remove_burn_token_rule\",\n });\n return this;\n }\n\n onEntryUpdateTokenProperty(\n func: (\n call: SouffleChefCampaign.UpdateTokenPropertyPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::update_token_property\",\n });\n return this;\n }\n\n onEventBurnEnjoyEvent(\n func: (\n event: SouffleChefCampaign.BurnEnjoyEventInstance,\n ctx: aptos.AptosContext\n ) => void\n ): SouffleChefCampaign {\n this.onEvent(func, {\n type: \"SouffleChefCampaign::BurnEnjoyEvent\",\n });\n return this;\n }\n\n onEventPullTokenEvent(\n func: (\n event: SouffleChefCampaign.PullTokenEventInstance,\n ctx: aptos.AptosContext\n ) => void\n ): SouffleChefCampaign {\n this.onEvent(func, {\n type: \"SouffleChefCampaign::PullTokenEvent\",\n });\n return this;\n }\n\n loadTypesInternal(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n}\n\nexport namespace SouffleChefCampaign {\n export class ACLBox<T0> {\n box: acl.ACL;\n }\n\n export class BurnEnjoyEvent {\n owner: Address;\n }\n\n export interface BurnEnjoyEventInstance\n extends aptos.TypedEventInstance<BurnEnjoyEvent> {\n data_typed: BurnEnjoyEvent;\n type_arguments: [];\n }\n\n export class BurnRule {\n token_ids: SouffleChefCampaign.CollectionId[];\n burn_amount: table.Table<SouffleChefCampaign.CollectionId, bigint>;\n total_burn_amount: bigint;\n burn_event_handle: event.EventHandle<SouffleChefCampaign.BurnEnjoyEvent>;\n pull_token_event_handle: event.EventHandle<SouffleChefCampaign.PullTokenEvent>;\n }\n\n export class CollectionId {\n creator: Address;\n collection_name: string;\n }\n\n export class Counter<T0> {\n counter: bigint;\n }\n\n export class OfferRecords {\n records: table.Table<Address, token.TokenId[]>;\n }\n\n export class Property<T0> {\n payee: Address;\n collection: string;\n token_base_name: string;\n description: string;\n maximum: bigint;\n maximum_per_address: bigint;\n uri: string;\n mutate_setting: Boolean[];\n royalty_payee_address: Address;\n royalty_points_denominator: bigint;\n royalty_points_numerator: bigint;\n token_mutate_config: token.TokenMutabilityConfig;\n property_keys: string[];\n property_values: string[];\n property_types: string[];\n coin_per_token: bigint;\n acl_control: Boolean;\n acl_box: SouffleChefCampaign.ACLBox<T0>;\n current_idx: bigint;\n }\n\n export class PropertyContainer<T0> {\n container: table.Table<\n SouffleChefCampaign.CollectionId,\n SouffleChefCampaign.Property<T0>\n >;\n }\n\n export class PullTokenEvent {\n receiver: Address;\n }\n\n export interface PullTokenEventInstance\n extends aptos.TypedEventInstance<PullTokenEvent> {\n data_typed: PullTokenEvent;\n type_arguments: [];\n }\n\n export class ResourceAccountCap<T0> {\n cap: account.SignerCapability;\n }\n\n export interface AddAclPayload\n extends aptos.TypedEntryFunctionPayload<[string, Address]> {\n arguments_typed: [string, Address];\n type_arguments: [string];\n }\n\n export interface AddBurnTokenRulePayload\n extends aptos.TypedEntryFunctionPayload<[Address, string, bigint]> {\n arguments_typed: [Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface BatchAddAclPayload\n extends aptos.TypedEntryFunctionPayload<[string[], Address[]]> {\n arguments_typed: [string[], Address[]];\n type_arguments: [string];\n }\n\n export interface BurnAndEnjoyPayload\n extends aptos.TypedEntryFunctionPayload<\n [Address, Address[], string[], string[], bigint[], bigint[]]\n > {\n arguments_typed: [\n Address,\n Address[],\n string[],\n string[],\n bigint[],\n bigint[]\n ];\n type_arguments: [string];\n }\n\n export interface ClaimPayload\n extends aptos.TypedEntryFunctionPayload<[Address]> {\n arguments_typed: [Address];\n type_arguments: [string];\n }\n\n export interface CreateCandyMachinePayload\n extends aptos.TypedEntryFunctionPayload<[string]> {\n arguments_typed: [string];\n type_arguments: [string];\n }\n\n export interface CreateCollectionPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint,\n Boolean\n ]\n > {\n arguments_typed: [\n Address,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint,\n Boolean\n ];\n type_arguments: [string];\n }\n\n export interface PullTokenPayload\n extends aptos.TypedEntryFunctionPayload<\n [Address, Address, string, bigint]\n > {\n arguments_typed: [Address, Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface PullTokenV2Payload\n extends aptos.TypedEntryFunctionPayload<\n [Address, Address, string, bigint]\n > {\n arguments_typed: [Address, Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface RemoveBurnTokenRulePayload\n extends aptos.TypedEntryFunctionPayload<[Address, string, bigint]> {\n arguments_typed: [Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface UpdateTokenPropertyPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ]\n > {\n arguments_typed: [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ];\n type_arguments: [string];\n }\n\n export function loadTypes(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n export const ABI: MoveModule = JSON.parse(\n '{\"address\":\"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\"name\":\"SouffleChefCampaign\",\"friends\":[],\"exposed_functions\":[{\"name\":\"add_acl\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"0x1::string::String\",\"address\"],\"return\":[]},{\"name\":\"add_burn_token_rule\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"batch_add_acl\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"vector<0x1::string::String>\",\"vector<address>\"],\"return\":[]},{\"name\":\"burn_and_enjoy\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"vector<address>\",\"vector<0x1::string::String>\",\"vector<0x1::string::String>\",\"vector<u64>\",\"vector<u64>\"],\"return\":[]},{\"name\":\"claim\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\"],\"return\":[]},{\"name\":\"create_candy_machine\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"0x1::string::String\"],\"return\":[]},{\"name\":\"create_collection\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"vector<bool>\",\"address\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\",\"u64\",\"bool\"],\"return\":[]},{\"name\":\"pull_token\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"pull_token_v2\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"remove_burn_token_rule\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"update_token_property\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\"],\"return\":[]}],\"structs\":[{\"name\":\"ACLBox\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\",\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"box\",\"type\":\"0x1::acl::ACL\"}]},{\"name\":\"BurnEnjoyEvent\",\"is_native\":false,\"abilities\":[\"drop\",\"store\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"owner\",\"type\":\"address\"}]},{\"name\":\"BurnRule\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"token_ids\",\"type\":\"vector<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::CollectionId>\"},{\"name\":\"burn_amount\",\"type\":\"0x1::table::Table<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::CollectionId, u64>\"},{\"name\":\"total_burn_amount\",\"type\":\"u64\"},{\"name\":\"burn_event_handle\",\"type\":\"0x1::event::EventHandle<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::BurnEnjoyEvent>\"},{\"name\":\"pull_token_event_handle\",\"type\":\"0x1::event::EventHandle<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::PullTokenEvent>\"}]},{\"name\":\"CollectionId\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"creator\",\"type\":\"address\"},{\"name\":\"collection_name\",\"type\":\"0x1::string::String\"}]},{\"name\":\"Counter\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"counter\",\"type\":\"u64\"}]},{\"name\":\"OfferRecords\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"records\",\"type\":\"0x1::table::Table<address, vector<0x3::token::TokenId>>\"}]},{\"name\":\"Property\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"payee\",\"type\":\"address\"},{\"name\":\"collection\",\"type\":\"0x1::string::String\"},{\"name\":\"token_base_name\",\"type\":\"0x1::string::String\"},{\"name\":\"description\",\"type\":\"0x1::string::String\"},{\"name\":\"maximum\",\"type\":\"u64\"},{\"name\":\"maximum_per_address\",\"type\":\"u64\"},{\"name\":\"uri\",\"type\":\"0x1::string::String\"},{\"name\":\"mutate_setting\",\"type\":\"vector<bool>\"},{\"name\":\"royalty_payee_address\",\"type\":\"address\"},{\"name\":\"royalty_points_denominator\",\"type\":\"u64\"},{\"name\":\"royalty_points_numerator\",\"type\":\"u64\"},{\"name\":\"token_mutate_config\",\"type\":\"0x3::token::TokenMutabilityConfig\"},{\"name\":\"property_keys\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"property_values\",\"type\":\"vector<vector<u8>>\"},{\"name\":\"property_types\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"coin_per_token\",\"type\":\"u64\"},{\"name\":\"acl_control\",\"type\":\"bool\"},{\"name\":\"acl_box\",\"type\":\"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::ACLBox<T0>\"},{\"name\":\"current_idx\",\"type\":\"u64\"}]},{\"name\":\"PropertyContainer\",\"is_native\":false,\"abilities\":[\"store\",\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"container\",\"type\":\"0x1::table::Table<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::CollectionId, 0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::Property<T0>>\"}]},{\"name\":\"PullTokenEvent\",\"is_native\":false,\"abilities\":[\"drop\",\"store\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"receiver\",\"type\":\"address\"}]},{\"name\":\"ResourceAccountCap\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"cap\",\"type\":\"0x1::account::SignerCapability\"}]}]}'\n );\n}\n\nfunction loadAllTypes(registry: aptos.TypeRegistry) {\n acl.loadTypes(registry);\n account.loadTypes(registry);\n table.loadTypes(registry);\n event.loadTypes(registry);\n token.loadTypes(registry);\n\n registry.load(CandyMachine.ABI);\n registry.load(SouffleChefCampaign.ABI);\n}\n"]}
1
+ {"version":3,"file":"souffle.js","sourceRoot":"","sources":["../../../../src/tests/types/aptos/souffle.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,sGAAsG;AAEtG,qCAAoC;AAGpC,4DAA+E;AAC/E,4DAA0D;AAE1D,MAAa,YAAa,SAAQ,WAAK,CAAC,kBAAkB;IACxD,YAAY,OAA+B;QACzC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,eAAe,GAA2B;QAC/C,OAAO,EACL,oEAAoE;QACtE,OAAO,EAAE,WAAK,CAAC,YAAY,CAAC,QAAQ;KACrC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,UAA2C,EAAE;QACvD,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa,CACX,IAAyE,EACzE,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,uBAAuB;SAClC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CACvB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,oCAAoC;SAC/C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CACrB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,iCAAiC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CACd,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,0BAA0B;SACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,CACxB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,qCAAqC;SAChD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,QAA4B;QAC5C,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;;AAnFH,oCAoFC;AAED,WAAiB,YAAY;IAC3B,MAAa,MAAM;QACjB,GAAG,CAAU;KACd;IAFY,mBAAM,SAElB,CAAA;IAED,MAAa,OAAO;QAClB,OAAO,CAAS;KACjB;IAFY,oBAAO,UAEnB,CAAA;IAED,MAAa,QAAQ;QACnB,KAAK,CAAU;QACf,UAAU,CAAS;QACnB,eAAe,CAAS;QACxB,WAAW,CAAS;QACpB,OAAO,CAAS;QAChB,mBAAmB,CAAS;QAC5B,GAAG,CAAS;QACZ,WAAW,CAAS;QACpB,OAAO,CAAS;QAChB,cAAc,CAAY;QAC1B,qBAAqB,CAAU;QAC/B,0BAA0B,CAAS;QACnC,wBAAwB,CAAS;QACjC,mBAAmB,CAA8B;QACjD,aAAa,CAAW;QACxB,eAAe,CAAW;QAC1B,cAAc,CAAW;QACzB,cAAc,CAAS;KACxB;IAnBY,qBAAQ,WAmBpB,CAAA;IAED,MAAa,kBAAkB;QAC7B,GAAG,CAA2B;KAC/B;IAFY,+BAAkB,qBAE9B,CAAA;IA8FD,SAAgB,SAAS,CAAC,QAA4B;QACpD,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAFe,sBAAS,YAExB,CAAA;IACY,gBAAG,GAAe,IAAI,CAAC,KAAK,CACvC,yyFAAyyF,CAC1yF,CAAC;AACJ,CAAC,EApIgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAoI5B;AAED,MAAa,mBAAoB,SAAQ,WAAK,CAAC,kBAAkB;IAC/D,YAAY,OAA+B;QACzC,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,eAAe,GAA2B;QAC/C,OAAO,EACL,oEAAoE;QACtE,OAAO,EAAE,WAAK,CAAC,YAAY,CAAC,QAAQ;KACrC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,UAA2C,EAAE;QAE7C,OAAO,IAAI,mBAAmB,CAAC;YAC7B,GAAG,mBAAmB,CAAC,eAAe;YACtC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,8BAA8B;SACzC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CACrB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,0CAA0C;SACrD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAChB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,oCAAoC;SAC/C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CACjB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,qCAAqC;SAChD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CACV,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,4BAA4B;SACvC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CACvB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,2CAA2C;SACtD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CACrB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,wCAAwC;SACnD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CACd,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,iCAAiC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAChB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,oCAAoC;SAC/C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,CACxB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,6CAA6C;SACxD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,CACxB,IAGS,EACT,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,4CAA4C;SACvD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB,CACnB,IAGS;QAET,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB,CACnB,IAGS;QAET,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,QAA4B;QAC5C,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;;AAvMH,kDAwMC;AAED,WAAiB,mBAAmB;IAClC,MAAa,MAAM;QACjB,GAAG,CAAU;KACd;IAFY,0BAAM,SAElB,CAAA;IAED,MAAa,cAAc;QACzB,KAAK,CAAU;KAChB;IAFY,kCAAc,iBAE1B,CAAA;IAQD,MAAa,QAAQ;QACnB,SAAS,CAAqC;QAC9C,WAAW,CAAwD;QACnE,iBAAiB,CAAS;QAC1B,iBAAiB,CAAwD;QACzE,uBAAuB,CAAwD;KAChF;IANY,4BAAQ,WAMpB,CAAA;IAED,MAAa,YAAY;QACvB,OAAO,CAAU;QACjB,eAAe,CAAS;KACzB;IAHY,gCAAY,eAGxB,CAAA;IAED,MAAa,OAAO;QAClB,OAAO,CAAS;KACjB;IAFY,2BAAO,UAEnB,CAAA;IAED,MAAa,YAAY;QACvB,OAAO,CAAwC;KAChD;IAFY,gCAAY,eAExB,CAAA;IAED,MAAa,QAAQ;QACnB,KAAK,CAAU;QACf,UAAU,CAAS;QACnB,eAAe,CAAS;QACxB,WAAW,CAAS;QACpB,OAAO,CAAS;QAChB,mBAAmB,CAAS;QAC5B,GAAG,CAAS;QACZ,cAAc,CAAY;QAC1B,qBAAqB,CAAU;QAC/B,0BAA0B,CAAS;QACnC,wBAAwB,CAAS;QACjC,mBAAmB,CAA8B;QACjD,aAAa,CAAW;QACxB,eAAe,CAAW;QAC1B,cAAc,CAAW;QACzB,cAAc,CAAS;QACvB,WAAW,CAAU;QACrB,OAAO,CAAiC;QACxC,WAAW,CAAS;KACrB;IApBY,4BAAQ,WAoBpB,CAAA;IAED,MAAa,iBAAiB;QAC5B,SAAS,CAGP;KACH;IALY,qCAAiB,oBAK7B,CAAA;IAED,MAAa,cAAc;QACzB,QAAQ,CAAU;KACnB;IAFY,kCAAc,iBAE1B,CAAA;IAQD,MAAa,kBAAkB;QAC7B,GAAG,CAA2B;KAC/B;IAFY,sCAAkB,qBAE9B,CAAA;IA6ID,SAAgB,SAAS,CAAC,QAA4B;QACpD,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAFe,6BAAS,YAExB,CAAA;IACY,uBAAG,GAAe,IAAI,CAAC,KAAK,CACvC,81LAA81L,CAC/1L,CAAC;AACJ,CAAC,EAhOgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAgOnC;AAED,SAAS,YAAY,CAAC,QAA4B;IAChD,UAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,cAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1B,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1B,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\n/* Generated modules for account 0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807 */\n\nimport { aptos } from \"@sentio/sdk\";\nimport { Address, MoveModule } from \"aptos-sdk/src/generated\";\n\nimport { acl, account, table, event } from \"@sentio/sdk/src/builtin/aptos/0x1\";\nimport { token } from \"@sentio/sdk/src/builtin/aptos/0x3\";\n\nexport class CandyMachine extends aptos.AptosBaseProcessor {\n constructor(options: aptos.AptosBindOptions) {\n super(\"CandyMachine\", options);\n }\n static DEFAULT_OPTIONS: aptos.AptosBindOptions = {\n address:\n \"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\n network: aptos.AptosNetwork.MAIN_NET,\n };\n\n static bind(options: Partial<aptos.AptosBindOptions> = {}): CandyMachine {\n return new CandyMachine({ ...CandyMachine.DEFAULT_OPTIONS, ...options });\n }\n\n onEntryAddAcl(\n func: (call: CandyMachine.AddAclPayload, ctx: aptos.AptosContext) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::add_acl\",\n });\n return this;\n }\n\n onEntryCreateCandyMachine(\n func: (\n call: CandyMachine.CreateCandyMachinePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::create_candy_machine\",\n });\n return this;\n }\n\n onEntryCreateCollection(\n func: (\n call: CandyMachine.CreateCollectionPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::create_collection\",\n });\n return this;\n }\n\n onEntryPullToken(\n func: (\n call: CandyMachine.PullTokenPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::pull_token\",\n });\n return this;\n }\n\n onEntryUpdateTokenProperty(\n func: (\n call: CandyMachine.UpdateTokenPropertyPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): CandyMachine {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"CandyMachine::update_token_property\",\n });\n return this;\n }\n\n loadTypesInternal(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n}\n\nexport namespace CandyMachine {\n export class ACLBox<T0> {\n box: acl.ACL;\n }\n\n export class Counter<T0> {\n counter: bigint;\n }\n\n export class Property<T0> {\n payee: Address;\n collection: string;\n token_base_name: string;\n description: string;\n maximum: bigint;\n maximum_per_address: bigint;\n uri: string;\n special_uri: string;\n mod_num: bigint;\n mutate_setting: Boolean[];\n royalty_payee_address: Address;\n royalty_points_denominator: bigint;\n royalty_points_numerator: bigint;\n token_mutate_config: token.TokenMutabilityConfig;\n property_keys: string[];\n property_values: string[];\n property_types: string[];\n coin_per_token: bigint;\n }\n\n export class ResourceAccountCap<T0> {\n cap: account.SignerCapability;\n }\n\n export interface AddAclPayload\n extends aptos.TypedEntryFunctionPayload<[Address]> {\n arguments_typed: [Address];\n type_arguments: [string];\n }\n\n export interface CreateCandyMachinePayload\n extends aptos.TypedEntryFunctionPayload<[string]> {\n arguments_typed: [string];\n type_arguments: [string];\n }\n\n export interface CreateCollectionPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n string,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint\n ]\n > {\n arguments_typed: [\n Address,\n string,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint\n ];\n type_arguments: [string];\n }\n\n export interface PullTokenPayload\n extends aptos.TypedEntryFunctionPayload<[Address, string, bigint]> {\n arguments_typed: [Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface UpdateTokenPropertyPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ]\n > {\n arguments_typed: [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ];\n type_arguments: [string];\n }\n\n export function loadTypes(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n export const ABI: MoveModule = JSON.parse(\n '{\"address\":\"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\"name\":\"CandyMachine\",\"friends\":[],\"exposed_functions\":[{\"name\":\"add_acl\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\"],\"return\":[]},{\"name\":\"create_candy_machine\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"0x1::string::String\"],\"return\":[]},{\"name\":\"create_collection\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"u64\",\"vector<bool>\",\"address\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\",\"u64\"],\"return\":[]},{\"name\":\"pull_token\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"update_token_property\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\"],\"return\":[]}],\"structs\":[{\"name\":\"ACLBox\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"box\",\"type\":\"0x1::acl::ACL\"}]},{\"name\":\"Counter\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"counter\",\"type\":\"u64\"}]},{\"name\":\"Property\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\",\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"payee\",\"type\":\"address\"},{\"name\":\"collection\",\"type\":\"0x1::string::String\"},{\"name\":\"token_base_name\",\"type\":\"0x1::string::String\"},{\"name\":\"description\",\"type\":\"0x1::string::String\"},{\"name\":\"maximum\",\"type\":\"u64\"},{\"name\":\"maximum_per_address\",\"type\":\"u64\"},{\"name\":\"uri\",\"type\":\"0x1::string::String\"},{\"name\":\"special_uri\",\"type\":\"0x1::string::String\"},{\"name\":\"mod_num\",\"type\":\"u64\"},{\"name\":\"mutate_setting\",\"type\":\"vector<bool>\"},{\"name\":\"royalty_payee_address\",\"type\":\"address\"},{\"name\":\"royalty_points_denominator\",\"type\":\"u64\"},{\"name\":\"royalty_points_numerator\",\"type\":\"u64\"},{\"name\":\"token_mutate_config\",\"type\":\"0x3::token::TokenMutabilityConfig\"},{\"name\":\"property_keys\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"property_values\",\"type\":\"vector<vector<u8>>\"},{\"name\":\"property_types\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"coin_per_token\",\"type\":\"u64\"}]},{\"name\":\"ResourceAccountCap\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"cap\",\"type\":\"0x1::account::SignerCapability\"}]}]}'\n );\n}\n\nexport class SouffleChefCampaign extends aptos.AptosBaseProcessor {\n constructor(options: aptos.AptosBindOptions) {\n super(\"SouffleChefCampaign\", options);\n }\n static DEFAULT_OPTIONS: aptos.AptosBindOptions = {\n address:\n \"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\n network: aptos.AptosNetwork.MAIN_NET,\n };\n\n static bind(\n options: Partial<aptos.AptosBindOptions> = {}\n ): SouffleChefCampaign {\n return new SouffleChefCampaign({\n ...SouffleChefCampaign.DEFAULT_OPTIONS,\n ...options,\n });\n }\n\n onEntryAddAcl(\n func: (\n call: SouffleChefCampaign.AddAclPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::add_acl\",\n });\n return this;\n }\n\n onEntryAddBurnTokenRule(\n func: (\n call: SouffleChefCampaign.AddBurnTokenRulePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::add_burn_token_rule\",\n });\n return this;\n }\n\n onEntryBatchAddAcl(\n func: (\n call: SouffleChefCampaign.BatchAddAclPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::batch_add_acl\",\n });\n return this;\n }\n\n onEntryBurnAndEnjoy(\n func: (\n call: SouffleChefCampaign.BurnAndEnjoyPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::burn_and_enjoy\",\n });\n return this;\n }\n\n onEntryClaim(\n func: (\n call: SouffleChefCampaign.ClaimPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::claim\",\n });\n return this;\n }\n\n onEntryCreateCandyMachine(\n func: (\n call: SouffleChefCampaign.CreateCandyMachinePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::create_candy_machine\",\n });\n return this;\n }\n\n onEntryCreateCollection(\n func: (\n call: SouffleChefCampaign.CreateCollectionPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::create_collection\",\n });\n return this;\n }\n\n onEntryPullToken(\n func: (\n call: SouffleChefCampaign.PullTokenPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::pull_token\",\n });\n return this;\n }\n\n onEntryPullTokenV2(\n func: (\n call: SouffleChefCampaign.PullTokenV2Payload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::pull_token_v2\",\n });\n return this;\n }\n\n onEntryRemoveBurnTokenRule(\n func: (\n call: SouffleChefCampaign.RemoveBurnTokenRulePayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::remove_burn_token_rule\",\n });\n return this;\n }\n\n onEntryUpdateTokenProperty(\n func: (\n call: SouffleChefCampaign.UpdateTokenPropertyPayload,\n ctx: aptos.AptosContext\n ) => void,\n filter?: aptos.CallFilter\n ): SouffleChefCampaign {\n this.onEntryFunctionCall(func, {\n ...filter,\n function: \"SouffleChefCampaign::update_token_property\",\n });\n return this;\n }\n\n onEventBurnEnjoyEvent(\n func: (\n event: SouffleChefCampaign.BurnEnjoyEventInstance,\n ctx: aptos.AptosContext\n ) => void\n ): SouffleChefCampaign {\n this.onEvent(func, {\n type: \"SouffleChefCampaign::BurnEnjoyEvent\",\n });\n return this;\n }\n\n onEventPullTokenEvent(\n func: (\n event: SouffleChefCampaign.PullTokenEventInstance,\n ctx: aptos.AptosContext\n ) => void\n ): SouffleChefCampaign {\n this.onEvent(func, {\n type: \"SouffleChefCampaign::PullTokenEvent\",\n });\n return this;\n }\n\n loadTypesInternal(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n}\n\nexport namespace SouffleChefCampaign {\n export class ACLBox<T0> {\n box: acl.ACL;\n }\n\n export class BurnEnjoyEvent {\n owner: Address;\n }\n\n export interface BurnEnjoyEventInstance\n extends aptos.TypedEventInstance<BurnEnjoyEvent> {\n data_typed: BurnEnjoyEvent;\n type_arguments: [];\n }\n\n export class BurnRule {\n token_ids: SouffleChefCampaign.CollectionId[];\n burn_amount: table.Table<SouffleChefCampaign.CollectionId, bigint>;\n total_burn_amount: bigint;\n burn_event_handle: event.EventHandle<SouffleChefCampaign.BurnEnjoyEvent>;\n pull_token_event_handle: event.EventHandle<SouffleChefCampaign.PullTokenEvent>;\n }\n\n export class CollectionId {\n creator: Address;\n collection_name: string;\n }\n\n export class Counter<T0> {\n counter: bigint;\n }\n\n export class OfferRecords {\n records: table.Table<Address, token.TokenId[]>;\n }\n\n export class Property<T0> {\n payee: Address;\n collection: string;\n token_base_name: string;\n description: string;\n maximum: bigint;\n maximum_per_address: bigint;\n uri: string;\n mutate_setting: Boolean[];\n royalty_payee_address: Address;\n royalty_points_denominator: bigint;\n royalty_points_numerator: bigint;\n token_mutate_config: token.TokenMutabilityConfig;\n property_keys: string[];\n property_values: string[];\n property_types: string[];\n coin_per_token: bigint;\n acl_control: Boolean;\n acl_box: SouffleChefCampaign.ACLBox<T0>;\n current_idx: bigint;\n }\n\n export class PropertyContainer<T0> {\n container: table.Table<\n SouffleChefCampaign.CollectionId,\n SouffleChefCampaign.Property<T0>\n >;\n }\n\n export class PullTokenEvent {\n receiver: Address;\n }\n\n export interface PullTokenEventInstance\n extends aptos.TypedEventInstance<PullTokenEvent> {\n data_typed: PullTokenEvent;\n type_arguments: [];\n }\n\n export class ResourceAccountCap<T0> {\n cap: account.SignerCapability;\n }\n\n export interface AddAclPayload\n extends aptos.TypedEntryFunctionPayload<[string, Address]> {\n arguments_typed: [string, Address];\n type_arguments: [string];\n }\n\n export interface AddBurnTokenRulePayload\n extends aptos.TypedEntryFunctionPayload<[Address, string, bigint]> {\n arguments_typed: [Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface BatchAddAclPayload\n extends aptos.TypedEntryFunctionPayload<[string[], Address[]]> {\n arguments_typed: [string[], Address[]];\n type_arguments: [string];\n }\n\n export interface BurnAndEnjoyPayload\n extends aptos.TypedEntryFunctionPayload<\n [Address, Address[], string[], string[], bigint[], bigint[]]\n > {\n arguments_typed: [\n Address,\n Address[],\n string[],\n string[],\n bigint[],\n bigint[]\n ];\n type_arguments: [string];\n }\n\n export interface ClaimPayload\n extends aptos.TypedEntryFunctionPayload<[Address]> {\n arguments_typed: [Address];\n type_arguments: [string];\n }\n\n export interface CreateCandyMachinePayload\n extends aptos.TypedEntryFunctionPayload<[string]> {\n arguments_typed: [string];\n type_arguments: [string];\n }\n\n export interface CreateCollectionPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint,\n Boolean\n ]\n > {\n arguments_typed: [\n Address,\n string,\n string,\n string,\n string,\n string,\n bigint,\n bigint,\n Boolean[],\n Address,\n bigint,\n bigint,\n string[],\n string[],\n string[],\n bigint,\n Boolean\n ];\n type_arguments: [string];\n }\n\n export interface PullTokenPayload\n extends aptos.TypedEntryFunctionPayload<\n [Address, Address, string, bigint]\n > {\n arguments_typed: [Address, Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface PullTokenV2Payload\n extends aptos.TypedEntryFunctionPayload<\n [Address, Address, string, bigint]\n > {\n arguments_typed: [Address, Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface RemoveBurnTokenRulePayload\n extends aptos.TypedEntryFunctionPayload<[Address, string, bigint]> {\n arguments_typed: [Address, string, bigint];\n type_arguments: [string];\n }\n\n export interface UpdateTokenPropertyPayload\n extends aptos.TypedEntryFunctionPayload<\n [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ]\n > {\n arguments_typed: [\n Address,\n Address,\n string,\n string,\n bigint,\n bigint,\n string[],\n string[],\n string[]\n ];\n type_arguments: [string];\n }\n\n export function loadTypes(registry: aptos.TypeRegistry) {\n loadAllTypes(registry);\n }\n export const ABI: MoveModule = JSON.parse(\n '{\"address\":\"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807\",\"name\":\"SouffleChefCampaign\",\"friends\":[],\"exposed_functions\":[{\"name\":\"add_acl\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"0x1::string::String\",\"address\"],\"return\":[]},{\"name\":\"add_burn_token_rule\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"batch_add_acl\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"vector<0x1::string::String>\",\"vector<address>\"],\"return\":[]},{\"name\":\"burn_and_enjoy\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"vector<address>\",\"vector<0x1::string::String>\",\"vector<0x1::string::String>\",\"vector<u64>\",\"vector<u64>\"],\"return\":[]},{\"name\":\"claim\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\"],\"return\":[]},{\"name\":\"create_candy_machine\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"0x1::string::String\"],\"return\":[]},{\"name\":\"create_collection\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"vector<bool>\",\"address\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\",\"u64\",\"bool\"],\"return\":[]},{\"name\":\"pull_token\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"pull_token_v2\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"remove_burn_token_rule\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"0x1::string::String\",\"u64\"],\"return\":[]},{\"name\":\"update_token_property\",\"visibility\":\"public\",\"is_entry\":true,\"generic_type_params\":[{\"constraints\":[]}],\"params\":[\"&signer\",\"address\",\"address\",\"0x1::string::String\",\"0x1::string::String\",\"u64\",\"u64\",\"vector<0x1::string::String>\",\"vector<vector<u8>>\",\"vector<0x1::string::String>\"],\"return\":[]}],\"structs\":[{\"name\":\"ACLBox\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\",\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"box\",\"type\":\"0x1::acl::ACL\"}]},{\"name\":\"BurnEnjoyEvent\",\"is_native\":false,\"abilities\":[\"drop\",\"store\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"owner\",\"type\":\"address\"}]},{\"name\":\"BurnRule\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"token_ids\",\"type\":\"vector<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::CollectionId>\"},{\"name\":\"burn_amount\",\"type\":\"0x1::table::Table<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::CollectionId, u64>\"},{\"name\":\"total_burn_amount\",\"type\":\"u64\"},{\"name\":\"burn_event_handle\",\"type\":\"0x1::event::EventHandle<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::BurnEnjoyEvent>\"},{\"name\":\"pull_token_event_handle\",\"type\":\"0x1::event::EventHandle<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::PullTokenEvent>\"}]},{\"name\":\"CollectionId\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"creator\",\"type\":\"address\"},{\"name\":\"collection_name\",\"type\":\"0x1::string::String\"}]},{\"name\":\"Counter\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"counter\",\"type\":\"u64\"}]},{\"name\":\"OfferRecords\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"records\",\"type\":\"0x1::table::Table<address, vector<0x3::token::TokenId>>\"}]},{\"name\":\"Property\",\"is_native\":false,\"abilities\":[\"copy\",\"drop\",\"store\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"payee\",\"type\":\"address\"},{\"name\":\"collection\",\"type\":\"0x1::string::String\"},{\"name\":\"token_base_name\",\"type\":\"0x1::string::String\"},{\"name\":\"description\",\"type\":\"0x1::string::String\"},{\"name\":\"maximum\",\"type\":\"u64\"},{\"name\":\"maximum_per_address\",\"type\":\"u64\"},{\"name\":\"uri\",\"type\":\"0x1::string::String\"},{\"name\":\"mutate_setting\",\"type\":\"vector<bool>\"},{\"name\":\"royalty_payee_address\",\"type\":\"address\"},{\"name\":\"royalty_points_denominator\",\"type\":\"u64\"},{\"name\":\"royalty_points_numerator\",\"type\":\"u64\"},{\"name\":\"token_mutate_config\",\"type\":\"0x3::token::TokenMutabilityConfig\"},{\"name\":\"property_keys\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"property_values\",\"type\":\"vector<vector<u8>>\"},{\"name\":\"property_types\",\"type\":\"vector<0x1::string::String>\"},{\"name\":\"coin_per_token\",\"type\":\"u64\"},{\"name\":\"acl_control\",\"type\":\"bool\"},{\"name\":\"acl_box\",\"type\":\"0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::ACLBox<T0>\"},{\"name\":\"current_idx\",\"type\":\"u64\"}]},{\"name\":\"PropertyContainer\",\"is_native\":false,\"abilities\":[\"store\",\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"container\",\"type\":\"0x1::table::Table<0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::CollectionId, 0x4188c8694687e844677c2aa87171019e23d61cac60de5082a278a8aa47e9d807::SouffleChefCampaign::Property<T0>>\"}]},{\"name\":\"PullTokenEvent\",\"is_native\":false,\"abilities\":[\"drop\",\"store\"],\"generic_type_params\":[],\"fields\":[{\"name\":\"receiver\",\"type\":\"address\"}]},{\"name\":\"ResourceAccountCap\",\"is_native\":false,\"abilities\":[\"key\"],\"generic_type_params\":[{\"constraints\":[]}],\"fields\":[{\"name\":\"cap\",\"type\":\"0x1::account::SignerCapability\"}]}]}'\n );\n}\n\nfunction loadAllTypes(registry: aptos.TypeRegistry) {\n acl.loadTypes(registry);\n account.loadTypes(registry);\n table.loadTypes(registry);\n event.loadTypes(registry);\n token.loadTypes(registry);\n\n registry.load(CandyMachine.ABI);\n registry.load(SouffleChefCampaign.ABI);\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "version": "1.22.2",
4
+ "version": "1.23.0",
5
5
  "scripts": {
6
6
  "compile_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
7
7
  "compile": "tsc -p . && cp src/cli/webpack.config.js lib/cli && cp src/utils/*.csv lib/utils",
@@ -26,7 +26,7 @@
26
26
  "@typechain/ethers-v5": "^10.0.0",
27
27
  "@types/bn.js": "^5.1.0",
28
28
  "@types/node-fetch": "^2.6.2",
29
- "aptos": "^1.3.15",
29
+ "aptos-sdk": "npm:aptos@^1.3.16",
30
30
  "bignumber.js": "^9.1.0",
31
31
  "bn.js": "^5.2.1",
32
32
  "bs58": "^5.0.0",
@@ -11,9 +11,9 @@ import {
11
11
  } from '.'
12
12
 
13
13
  import Long from 'long'
14
- import { APTOS_MAINNET_ID, APTOS_TESTNET_ID } from '../utils/chain'
15
14
  import { EventInstance, GLOBAL_TYPE_REGISTRY } from './types'
16
15
  import { parseMoveType } from '../aptos-codegen/typegen'
16
+ import { getChainId } from './network'
17
17
 
18
18
  type IndexConfigure = {
19
19
  address: string
@@ -71,11 +71,19 @@ export class AptosBaseProcessor {
71
71
  public onTransaction(
72
72
  handler: (transaction: Transaction_UserTransaction, ctx: AptosContext) => void
73
73
  ): AptosBaseProcessor {
74
- const address = this.config.address
75
- const moduleName = this.moduleName
74
+ // const address = this.config.address
75
+ // const moduleName = this.moduleName
76
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
77
+ const processor = this
76
78
  this.callHandlers.push({
77
79
  handler: async function (tx) {
78
- const ctx = new AptosContext(moduleName, address, Long.fromString(tx.version), tx)
80
+ const ctx = new AptosContext(
81
+ processor.moduleName,
82
+ processor.config.network,
83
+ processor.config.address,
84
+ Long.fromString(tx.version),
85
+ tx
86
+ )
79
87
  if (tx) {
80
88
  handler(tx, ctx)
81
89
  }
@@ -110,7 +118,13 @@ export class AptosBaseProcessor {
110
118
 
111
119
  this.eventHandlers.push({
112
120
  handler: async function (txn) {
113
- const ctx = new AptosContext(processor.moduleName, processor.config.address, Long.fromString(txn.version), txn)
121
+ const ctx = new AptosContext(
122
+ processor.moduleName,
123
+ processor.config.network,
124
+ processor.config.address,
125
+ Long.fromString(txn.version),
126
+ txn
127
+ )
114
128
  if (txn && txn.events) {
115
129
  const events = txn.events
116
130
  txn.events = []
@@ -149,7 +163,13 @@ export class AptosBaseProcessor {
149
163
 
150
164
  this.callHandlers.push({
151
165
  handler: async function (tx) {
152
- const ctx = new AptosContext(processor.moduleName, processor.config.address, Long.fromString(tx.version), tx)
166
+ const ctx = new AptosContext(
167
+ processor.moduleName,
168
+ processor.config.network,
169
+ processor.config.address,
170
+ Long.fromString(tx.version),
171
+ tx
172
+ )
153
173
  if (tx) {
154
174
  const payload = tx.payload as TransactionPayload_EntryFunctionPayload
155
175
  const decoded = processor.decodeFunctionPayload(payload)
@@ -175,17 +195,12 @@ export class AptosBaseProcessor {
175
195
  this.config = {
176
196
  startVersion: startVersion,
177
197
  address: options.address,
178
- network: options.network || AptosNetwork.TEST_NET,
198
+ network: options.network || AptosNetwork.MAIN_NET,
179
199
  }
180
200
  }
181
201
 
182
202
  getChainId(): string {
183
- switch (this.config.network) {
184
- case AptosNetwork.TEST_NET:
185
- return APTOS_TESTNET_ID
186
- case AptosNetwork.MAIN_NET:
187
- return APTOS_MAINNET_ID
188
- }
203
+ return getChainId(this.config.network)
189
204
  }
190
205
 
191
206
  loadTypes(registry: TypeRegistry) {
@@ -1,20 +1,28 @@
1
1
  import Long from 'long'
2
2
  import { DataDescriptor, RecordMetaData } from '../gen'
3
3
  import { Labels } from '../core/metadata'
4
- import { APTOS_TESTNET_ID } from '../utils/chain'
5
4
  import { normalizeLabels } from '../core/meter'
6
5
  import { BaseContext } from '../core/context'
7
- import { Transaction_UserTransaction } from './'
6
+ import { AptosNetwork, Transaction_UserTransaction } from './'
7
+ import { getChainId } from './network'
8
8
 
9
9
  export class AptosContext extends BaseContext {
10
10
  address: string
11
+ network: AptosNetwork
11
12
  moduleName: string
12
13
  version: Long
13
14
  transaction: Transaction_UserTransaction
14
15
 
15
- constructor(moduleName: string, address: string, version: Long, transaction?: Transaction_UserTransaction) {
16
+ constructor(
17
+ moduleName: string,
18
+ network: AptosNetwork,
19
+ address: string,
20
+ version: Long,
21
+ transaction?: Transaction_UserTransaction
22
+ ) {
16
23
  super()
17
24
  this.address = address
25
+ this.network = network
18
26
  this.moduleName = moduleName
19
27
  this.version = version
20
28
  if (transaction) {
@@ -30,7 +38,7 @@ export class AptosContext extends BaseContext {
30
38
  transactionIndex: 0,
31
39
  transactionHash: this.transaction?.hash || '', // TODO
32
40
  logIndex: 0,
33
- chainId: APTOS_TESTNET_ID, // TODO set in context
41
+ chainId: getChainId(this.network),
34
42
  dataDescriptor: descriptor,
35
43
  labels: normalizeLabels(labels),
36
44
  }
@@ -1,6 +1,6 @@
1
- export type { Transaction_UserTransaction, TransactionPayload_EntryFunctionPayload } from 'aptos/src/generated'
1
+ export type { Transaction_UserTransaction, TransactionPayload_EntryFunctionPayload } from 'aptos-sdk/src/generated'
2
2
  export type { EventInstance, TypedEventInstance, TypeRegistry, TypedEntryFunctionPayload } from './types'
3
3
  export type { FunctionNameAndCallFilter, EventFilter, CallFilter, ArgumentsFilter } from './aptos-processor'
4
4
  export { AptosBaseProcessor } from './aptos-processor'
5
5
  export { AptosContext } from './context'
6
- export { AptosBindOptions, AptosNetwork } from './bind-options'
6
+ export { AptosBindOptions, AptosNetwork } from './network'
@@ -0,0 +1,39 @@
1
+ import Long from 'long'
2
+ import { APTOS_MAINNET_ID, APTOS_TESTNET_ID, CHAIN_MAP } from '../utils/chain'
3
+
4
+ export enum AptosNetwork {
5
+ MAIN_NET = 1,
6
+ TEST_NET = 2,
7
+ // DEV_NET,
8
+ }
9
+
10
+ export function getChainId(network: AptosNetwork): string {
11
+ switch (network) {
12
+ case AptosNetwork.TEST_NET:
13
+ return APTOS_TESTNET_ID
14
+ }
15
+ return APTOS_MAINNET_ID
16
+ }
17
+
18
+ export function getChainName(network: AptosNetwork): string {
19
+ switch (network) {
20
+ case AptosNetwork.TEST_NET:
21
+ return CHAIN_MAP[APTOS_TESTNET_ID]
22
+ }
23
+ return CHAIN_MAP[APTOS_MAINNET_ID]
24
+ }
25
+
26
+ export function getChainRpcEndpoint(network: AptosNetwork): string {
27
+ switch (network) {
28
+ case AptosNetwork.TEST_NET:
29
+ return 'https://testnet.aptoslabs.com/'
30
+ }
31
+ return 'https://mainnet.aptoslabs.com/v1/'
32
+ }
33
+
34
+ export class AptosBindOptions {
35
+ address: string
36
+ network?: AptosNetwork = AptosNetwork.TEST_NET
37
+ startVersion?: Long | number
38
+ // endBlock?: Long | number
39
+ }
@@ -1,4 +1,4 @@
1
- import { MoveStruct } from 'aptos/src/generated/models/MoveStruct'
1
+ import { MoveStruct } from 'aptos-sdk/src/generated'
2
2
 
3
3
  export function decode<T>(struct: MoveStruct, args: any[]): T | undefined {
4
4
  if (args.length != struct.fields.length) {