@typemove/aptos 1.2.4-rc2 → 1.2.4-rc3

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 (140) hide show
  1. package/dist/cjs/account-resource-client.d.ts +35 -0
  2. package/dist/cjs/account-resource-client.d.ts.map +1 -0
  3. package/dist/cjs/account-resource-client.js +44 -0
  4. package/dist/cjs/account-resource-client.js.map +1 -0
  5. package/dist/cjs/account-resource-client.test.d.ts +2 -0
  6. package/dist/cjs/account-resource-client.test.d.ts.map +1 -0
  7. package/dist/cjs/account-resource-client.test.js.map +1 -0
  8. package/dist/cjs/aptos-chain-adapter.d.ts +16 -0
  9. package/dist/cjs/aptos-chain-adapter.d.ts.map +1 -0
  10. package/dist/cjs/aptos-chain-adapter.js +82 -0
  11. package/dist/cjs/aptos-chain-adapter.js.map +1 -0
  12. package/dist/cjs/builtin/0x1.d.ts +3796 -0
  13. package/dist/cjs/builtin/0x1.d.ts.map +1 -0
  14. package/dist/cjs/builtin/0x1.js +5019 -0
  15. package/dist/cjs/builtin/0x1.js.map +1 -0
  16. package/dist/cjs/builtin/0x3.d.ts +652 -0
  17. package/dist/cjs/builtin/0x3.d.ts.map +1 -0
  18. package/dist/cjs/builtin/0x3.js +584 -0
  19. package/dist/cjs/builtin/0x3.js.map +1 -0
  20. package/dist/cjs/builtin/index.d.ts +3 -0
  21. package/dist/cjs/builtin/index.d.ts.map +1 -0
  22. package/dist/cjs/builtin/index.js +10 -0
  23. package/dist/cjs/builtin/index.js.map +1 -0
  24. package/dist/cjs/client.test.d.ts +2 -0
  25. package/dist/cjs/client.test.d.ts.map +1 -0
  26. package/dist/cjs/client.test.js.map +1 -0
  27. package/dist/cjs/codegen/codegen.d.ts +14 -0
  28. package/dist/cjs/codegen/codegen.d.ts.map +1 -0
  29. package/dist/cjs/codegen/codegen.js +116 -0
  30. package/dist/cjs/codegen/codegen.js.map +1 -0
  31. package/dist/cjs/codegen/index.d.ts +2 -0
  32. package/dist/cjs/codegen/index.d.ts.map +1 -0
  33. package/dist/cjs/codegen/index.js +5 -0
  34. package/dist/cjs/codegen/index.js.map +1 -0
  35. package/dist/cjs/codegen/types.test.d.ts +2 -0
  36. package/dist/cjs/codegen/types.test.d.ts.map +1 -0
  37. package/dist/cjs/codegen/types.test.js.map +1 -0
  38. package/dist/cjs/index.d.ts +5 -0
  39. package/dist/cjs/index.d.ts.map +1 -0
  40. package/dist/cjs/index.js +12 -0
  41. package/dist/cjs/index.js.map +1 -0
  42. package/dist/cjs/models.d.ts +11 -0
  43. package/dist/cjs/models.d.ts.map +1 -0
  44. package/dist/cjs/models.js +3 -0
  45. package/dist/cjs/models.js.map +1 -0
  46. package/dist/cjs/move-coder.d.ts +15 -0
  47. package/dist/cjs/move-coder.d.ts.map +1 -0
  48. package/dist/cjs/move-coder.js +76 -0
  49. package/dist/cjs/move-coder.js.map +1 -0
  50. package/dist/cjs/move-types.d.ts +12 -0
  51. package/dist/cjs/move-types.d.ts.map +1 -0
  52. package/dist/cjs/move-types.js +3 -0
  53. package/dist/cjs/move-types.js.map +1 -0
  54. package/dist/cjs/to-internal.d.ts +7 -0
  55. package/dist/cjs/to-internal.d.ts.map +1 -0
  56. package/dist/cjs/to-internal.js +60 -0
  57. package/dist/cjs/to-internal.js.map +1 -0
  58. package/dist/esm/account-resource-client.d.ts +35 -0
  59. package/dist/esm/account-resource-client.d.ts.map +1 -0
  60. package/dist/esm/account-resource-client.js +40 -0
  61. package/dist/esm/account-resource-client.js.map +1 -0
  62. package/dist/esm/account-resource-client.test.d.ts +2 -0
  63. package/dist/esm/account-resource-client.test.d.ts.map +1 -0
  64. package/dist/esm/account-resource-client.test.js.map +1 -0
  65. package/dist/esm/aptos-chain-adapter.d.ts +16 -0
  66. package/dist/esm/aptos-chain-adapter.d.ts.map +1 -0
  67. package/dist/esm/aptos-chain-adapter.js +78 -0
  68. package/dist/esm/aptos-chain-adapter.js.map +1 -0
  69. package/dist/esm/builtin/0x1.d.ts +3796 -0
  70. package/dist/esm/builtin/0x1.d.ts.map +1 -0
  71. package/dist/esm/builtin/0x1.js +5014 -0
  72. package/dist/esm/builtin/0x1.js.map +1 -0
  73. package/dist/esm/builtin/0x3.d.ts +652 -0
  74. package/dist/esm/builtin/0x3.d.ts.map +1 -0
  75. package/dist/esm/builtin/0x3.js +579 -0
  76. package/dist/esm/builtin/0x3.js.map +1 -0
  77. package/dist/esm/builtin/index.d.ts +3 -0
  78. package/dist/esm/builtin/index.d.ts.map +1 -0
  79. package/dist/esm/builtin/index.js +6 -0
  80. package/dist/esm/builtin/index.js.map +1 -0
  81. package/dist/esm/client.test.d.ts +2 -0
  82. package/dist/esm/client.test.d.ts.map +1 -0
  83. package/dist/esm/client.test.js.map +1 -0
  84. package/dist/esm/codegen/codegen.d.ts +14 -0
  85. package/dist/esm/codegen/codegen.d.ts.map +1 -0
  86. package/dist/esm/codegen/codegen.js +110 -0
  87. package/dist/esm/codegen/codegen.js.map +1 -0
  88. package/dist/esm/codegen/index.d.ts +2 -0
  89. package/dist/esm/codegen/index.d.ts.map +1 -0
  90. package/dist/esm/codegen/index.js +2 -0
  91. package/dist/esm/codegen/index.js.map +1 -0
  92. package/dist/esm/codegen/run.d.ts +2 -0
  93. package/dist/esm/codegen/run.d.ts.map +1 -0
  94. package/dist/esm/codegen/run.js.map +1 -0
  95. package/dist/esm/codegen/types.test.d.ts +2 -0
  96. package/dist/esm/codegen/types.test.d.ts.map +1 -0
  97. package/dist/esm/codegen/types.test.js.map +1 -0
  98. package/dist/esm/index.d.ts +5 -0
  99. package/dist/esm/index.d.ts.map +1 -0
  100. package/dist/esm/index.js +5 -0
  101. package/dist/esm/index.js.map +1 -0
  102. package/dist/esm/models.d.ts +11 -0
  103. package/dist/esm/models.d.ts.map +1 -0
  104. package/dist/esm/models.js +2 -0
  105. package/dist/esm/models.js.map +1 -0
  106. package/dist/esm/move-coder.d.ts +15 -0
  107. package/dist/esm/move-coder.d.ts.map +1 -0
  108. package/dist/esm/move-coder.js +71 -0
  109. package/dist/esm/move-coder.js.map +1 -0
  110. package/dist/esm/move-types.d.ts +12 -0
  111. package/dist/esm/move-types.d.ts.map +1 -0
  112. package/dist/esm/move-types.js +2 -0
  113. package/dist/esm/move-types.js.map +1 -0
  114. package/dist/esm/to-internal.d.ts +7 -0
  115. package/dist/esm/to-internal.d.ts.map +1 -0
  116. package/dist/esm/to-internal.js +53 -0
  117. package/dist/esm/to-internal.js.map +1 -0
  118. package/package.json +3 -3
  119. package/src/abis/0x1.json +15625 -0
  120. package/src/abis/0x3.json +2262 -0
  121. package/src/account-resource-client.ts +58 -0
  122. package/src/aptos-chain-adapter.ts +102 -0
  123. package/src/builtin/0x1.ts +9847 -0
  124. package/src/builtin/0x3.ts +1366 -0
  125. package/src/builtin/index.ts +5 -0
  126. package/src/codegen/codegen.ts +132 -0
  127. package/src/codegen/index.ts +1 -0
  128. package/src/codegen/run.ts +33 -0
  129. package/src/index.ts +4 -0
  130. package/src/models.ts +18 -0
  131. package/src/move-coder.ts +85 -0
  132. package/src/move-types.ts +13 -0
  133. package/src/tests/abis/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.json +3265 -0
  134. package/src/tests/abis/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.json +637 -0
  135. package/src/tests/abis/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.json +3717 -0
  136. package/src/tests/types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.ts +2668 -0
  137. package/src/tests/types/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.ts +89 -0
  138. package/src/tests/types/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.ts +2093 -0
  139. package/src/tests/types/index.ts +6 -0
  140. package/src/to-internal.ts +64 -0
@@ -0,0 +1,58 @@
1
+ import { AptosClient, MaybeHexString } from 'aptos'
2
+ import { TypeDescriptor } from '@typemove/move'
3
+ import { defaultMoveCoder } from './move-coder.js'
4
+ import { TypedMoveResource } from './models.js'
5
+
6
+ type ResourceQuery = {
7
+ ledgerVersion?: bigint | number
8
+ }
9
+
10
+ export class AccountResourceClient {
11
+ client: AptosClient
12
+ constructor(client: AptosClient) {
13
+ this.client = client
14
+ }
15
+
16
+ /**
17
+ * Get all resources of an account, same as `getAccountResources` in aptos client
18
+ * @param accountAddress
19
+ * @param query
20
+ */
21
+ async getAll(accountAddress: MaybeHexString, query?: ResourceQuery) {
22
+ return this.client.getAccountResources(accountAddress, query)
23
+ }
24
+
25
+ /**
26
+ * Match a single resource with exact type, resource type should not contain any type
27
+ * @param accountAddress
28
+ * @param resourceType
29
+ * @param query
30
+ */
31
+ async matchExact<T>(
32
+ accountAddress: MaybeHexString,
33
+ resourceType: TypeDescriptor<T>,
34
+ query?: ResourceQuery
35
+ ): Promise<TypedMoveResource<T> | undefined> {
36
+ if (resourceType.existAnyType()) {
37
+ throw new Error('resource type for match call should not contain any type')
38
+ }
39
+ const typeStr = resourceType.getSignature()
40
+ const result = await this.client.getAccountResource(accountAddress, typeStr, query)
41
+ return defaultMoveCoder(this.client.nodeUrl).decodeResource<T>(result)
42
+ }
43
+
44
+ /**
45
+ * Match all resources with type pattern, it could be a partial type like `amm.Pool<aptos_coin.AptosCoin.type(), ANY_TYPE>`
46
+ * @param accountAddress
47
+ * @param resourceType
48
+ * @param query
49
+ */
50
+ async matchAll<T>(
51
+ accountAddress: MaybeHexString,
52
+ resourceType: TypeDescriptor<T>,
53
+ query?: ResourceQuery
54
+ ): Promise<TypedMoveResource<T>[]> {
55
+ const result = await this.client.getAccountResources(accountAddress, query)
56
+ return defaultMoveCoder(this.client.nodeUrl).filterAndDecodeResources<T>(resourceType, result)
57
+ }
58
+ }
@@ -0,0 +1,102 @@
1
+ import {
2
+ ChainAdapter,
3
+ moduleQname,
4
+ SPLITTER,
5
+ TypeDescriptor,
6
+ InternalMoveModule,
7
+ InternalMoveStruct
8
+ } from '@typemove/move'
9
+ import { AptosClient } from 'aptos'
10
+
11
+ import { Event, MoveModuleBytecode, MoveResource } from './move-types.js'
12
+ import { toInternalModule } from './to-internal.js'
13
+
14
+ export class AptosChainAdapter extends ChainAdapter<MoveModuleBytecode, Event | MoveResource> {
15
+ // static INSTANCE = new AptosChainAdapter()
16
+ client: AptosClient
17
+ constructor(client: AptosClient) {
18
+ super()
19
+ this.client = client
20
+ }
21
+
22
+ async fetchModules(account: string): Promise<MoveModuleBytecode[]> {
23
+ return await this.client.getAccountModules(account)
24
+ }
25
+
26
+ async fetchModule(account: string, module: string): Promise<MoveModuleBytecode> {
27
+ return await this.client.getAccountModule(account, module)
28
+ }
29
+
30
+ toInternalModules(modules: MoveModuleBytecode[]): InternalMoveModule[] {
31
+ return modules.flatMap((m) => (m.abi ? [toInternalModule(m)] : []))
32
+ }
33
+
34
+ getMeaningfulFunctionParams(params: TypeDescriptor[]): TypeDescriptor[] {
35
+ if (params.length === 0) {
36
+ return params
37
+ }
38
+ if (params[0].qname === 'signer' && params[0].reference) {
39
+ params = params.slice(1)
40
+ }
41
+ return params
42
+ }
43
+
44
+ getAllEventStructs(modules: InternalMoveModule[]) {
45
+ const eventMap = new Map<string, InternalMoveStruct>()
46
+
47
+ for (const module of modules) {
48
+ const qname = moduleQname(module)
49
+
50
+ for (const struct of module.structs) {
51
+ const abilities = new Set(struct.abilities)
52
+ if (abilities.has('drop') && abilities.has('store')) {
53
+ eventMap.set(qname + SPLITTER + struct.name, struct)
54
+ }
55
+ }
56
+ }
57
+ return eventMap
58
+
59
+ // const eventMap = new Map<string, InternalMoveStruct>()
60
+ // const structMap = new Map<string, InternalMoveStruct>()
61
+ // for (const module of modules) {
62
+ // const qname = moduleQname(module)
63
+ // for (const struct of module.structs) {
64
+ // structMap.set(qname + SPLITTER + struct.name, struct)
65
+ // }
66
+ // }
67
+ //
68
+ // for (const module of modules) {
69
+ // for (const struct of module.structs) {
70
+ // for (const field of struct.fields) {
71
+ // const t = field.type
72
+ // if (t.qname === '0x1::event::EventHandle') {
73
+ // const event = t.typeArgs[0].qname
74
+ // const eventStruct = structMap.get(event)
75
+ // if (eventStruct) {
76
+ // eventMap.set(event, eventStruct)
77
+ // }
78
+ // }
79
+ // }
80
+ // }
81
+ // }
82
+ // return eventMap
83
+ }
84
+
85
+ getType(data: Event | MoveResource): string {
86
+ return data.type
87
+ }
88
+
89
+ getData(data: Event | MoveResource) {
90
+ if ('data' in data && 'type' in data) {
91
+ return data.data
92
+ }
93
+ return data
94
+ }
95
+
96
+ async getChainId(): Promise<string> {
97
+ return (await this.client.getChainId()).toString()
98
+ }
99
+ // validateAndNormalizeAddress(address: string): string {
100
+ // return validateAndNormalizeAddress(address)
101
+ // }
102
+ }