@alephium/powfi-sdk 0.0.1-rc.1

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 (146) hide show
  1. package/README.md +4 -0
  2. package/clmm/artifacts/BitmapWord.ral.json +125 -0
  3. package/clmm/artifacts/BitmapWordDeployer.ral.json +31 -0
  4. package/clmm/artifacts/CreateConfig.ral.json +37 -0
  5. package/clmm/artifacts/CreateLiquidPool.ral.json +55 -0
  6. package/clmm/artifacts/DexAccount.ral.json +110 -0
  7. package/clmm/artifacts/LiquidityAmountsTest.ral.json +161 -0
  8. package/clmm/artifacts/LiquidityManagmentTest.ral.json +384 -0
  9. package/clmm/artifacts/Pool.ral.json +1530 -0
  10. package/clmm/artifacts/PoolConfig.ral.json +31 -0
  11. package/clmm/artifacts/PoolFactory.ral.json +300 -0
  12. package/clmm/artifacts/PoolRouterDemo.ral.json +49 -0
  13. package/clmm/artifacts/PoolUser.ral.json +89 -0
  14. package/clmm/artifacts/Position.ral.json +183 -0
  15. package/clmm/artifacts/PositionManager.ral.json +416 -0
  16. package/clmm/artifacts/SwapWithoutAccount.ral.json +46 -0
  17. package/clmm/artifacts/TestToken.ral.json +68 -0
  18. package/clmm/artifacts/Tick.ral.json +161 -0
  19. package/clmm/artifacts/TickBitmapTest.ral.json +220 -0
  20. package/clmm/artifacts/constants.ral.json +81 -0
  21. package/clmm/artifacts/structs.ral.json +335 -0
  22. package/clmm/artifacts/ts/BitmapWord.ts +337 -0
  23. package/clmm/artifacts/ts/BitmapWordDeployer.ts +164 -0
  24. package/clmm/artifacts/ts/DexAccount.ts +330 -0
  25. package/clmm/artifacts/ts/LiquidityAmountsTest.ts +464 -0
  26. package/clmm/artifacts/ts/LiquidityManagmentTest.ts +859 -0
  27. package/clmm/artifacts/ts/Pool.ts +2535 -0
  28. package/clmm/artifacts/ts/PoolConfig.ts +179 -0
  29. package/clmm/artifacts/ts/PoolFactory.ts +640 -0
  30. package/clmm/artifacts/ts/PoolUser.ts +237 -0
  31. package/clmm/artifacts/ts/Position.ts +440 -0
  32. package/clmm/artifacts/ts/PositionManager.ts +929 -0
  33. package/clmm/artifacts/ts/TestToken.ts +277 -0
  34. package/clmm/artifacts/ts/Tick.ts +351 -0
  35. package/clmm/artifacts/ts/TickBitmapTest.ts +512 -0
  36. package/clmm/artifacts/ts/constants.ts +17 -0
  37. package/clmm/artifacts/ts/contracts.ts +26 -0
  38. package/clmm/artifacts/ts/deployments.ts +160 -0
  39. package/clmm/artifacts/ts/index.ts +20 -0
  40. package/clmm/artifacts/ts/scripts.ts +76 -0
  41. package/clmm/artifacts/ts/types.ts +105 -0
  42. package/clmm/deployments/.deployments.devnet.json +350 -0
  43. package/clmm/deployments/.deployments.testnet.json +350 -0
  44. package/cpmm/artifacts/dex/DexAccount.ral.json +110 -0
  45. package/cpmm/artifacts/dex/Router.ral.json +361 -0
  46. package/cpmm/artifacts/dex/TokenPair.ral.json +512 -0
  47. package/cpmm/artifacts/dex/TokenPairFactory.ral.json +297 -0
  48. package/cpmm/artifacts/examples/ExampleOracleSimple.ral.json +192 -0
  49. package/cpmm/artifacts/examples/FeeCollectorFactoryImpl.ral.json +185 -0
  50. package/cpmm/artifacts/examples/FeeCollectorPerTokenPairImpl.ral.json +216 -0
  51. package/cpmm/artifacts/examples/FullMathTest.ral.json +123 -0
  52. package/cpmm/artifacts/scripts/AddLiquidity.ral.json +46 -0
  53. package/cpmm/artifacts/scripts/Burn.ral.json +31 -0
  54. package/cpmm/artifacts/scripts/CollectFee.ral.json +25 -0
  55. package/cpmm/artifacts/scripts/CreatePair.ral.json +37 -0
  56. package/cpmm/artifacts/scripts/CreatePairAndAddLiquidity.ral.json +43 -0
  57. package/cpmm/artifacts/scripts/EnableFeeCollector.ral.json +28 -0
  58. package/cpmm/artifacts/scripts/Mint.ral.json +34 -0
  59. package/cpmm/artifacts/scripts/RemoveLiquidity.ral.json +43 -0
  60. package/cpmm/artifacts/scripts/SetFeeCollectorFactory.ral.json +28 -0
  61. package/cpmm/artifacts/scripts/Swap.ral.json +46 -0
  62. package/cpmm/artifacts/scripts/SwapMaxIn.ral.json +46 -0
  63. package/cpmm/artifacts/scripts/SwapMinOut.ral.json +46 -0
  64. package/cpmm/artifacts/test/GetToken.ral.json +31 -0
  65. package/cpmm/artifacts/test/MathTest.ral.json +49 -0
  66. package/cpmm/artifacts/test/TestToken.ral.json +87 -0
  67. package/cpmm/artifacts/ts/DexAccount.ts +329 -0
  68. package/cpmm/artifacts/ts/ExampleOracleSimple.ts +383 -0
  69. package/cpmm/artifacts/ts/FeeCollectorFactoryImpl.ts +227 -0
  70. package/cpmm/artifacts/ts/FeeCollectorPerTokenPairImpl.ts +327 -0
  71. package/cpmm/artifacts/ts/FullMathTest.ts +251 -0
  72. package/cpmm/artifacts/ts/MathTest.ts +183 -0
  73. package/cpmm/artifacts/ts/Router.ts +554 -0
  74. package/cpmm/artifacts/ts/TestToken.ts +312 -0
  75. package/cpmm/artifacts/ts/TokenPair.ts +947 -0
  76. package/cpmm/artifacts/ts/TokenPairFactory.ts +501 -0
  77. package/cpmm/artifacts/ts/contracts.ts +26 -0
  78. package/cpmm/artifacts/ts/deployments.ts +109 -0
  79. package/cpmm/artifacts/ts/index.ts +16 -0
  80. package/cpmm/artifacts/ts/scripts.ts +142 -0
  81. package/cpmm/deployments/.deployments.devnet.json +77 -0
  82. package/cpmm/deployments/.deployments.testnet.json +79 -0
  83. package/lib/index.d.mts +8800 -0
  84. package/lib/index.d.ts +8800 -0
  85. package/lib/index.js +21769 -0
  86. package/lib/index.js.map +1 -0
  87. package/lib/index.mjs +22118 -0
  88. package/lib/index.mjs.map +1 -0
  89. package/package.json +80 -0
  90. package/src/clmm/clmm.ts +607 -0
  91. package/src/clmm/constants.ts +7 -0
  92. package/src/clmm/index.ts +6 -0
  93. package/src/clmm/liquidity.ts +163 -0
  94. package/src/clmm/pool.ts +154 -0
  95. package/src/clmm/tick.ts +335 -0
  96. package/src/clmm/types.ts +155 -0
  97. package/src/common/constants.ts +1 -0
  98. package/src/common/error.ts +46 -0
  99. package/src/common/index.ts +7 -0
  100. package/src/common/logger.ts +82 -0
  101. package/src/common/math.ts +88 -0
  102. package/src/common/numeric.ts +64 -0
  103. package/src/common/types.ts +49 -0
  104. package/src/common/utils.ts +3 -0
  105. package/src/cpmm/constants.ts +2 -0
  106. package/src/cpmm/cpmm.ts +631 -0
  107. package/src/cpmm/index.ts +3 -0
  108. package/src/cpmm/types.ts +113 -0
  109. package/src/index.ts +25 -0
  110. package/src/moduleBase.ts +64 -0
  111. package/src/staking/index.ts +4 -0
  112. package/src/staking/settings.ts +38 -0
  113. package/src/staking/staking.ts +277 -0
  114. package/src/staking/types.ts +15 -0
  115. package/src/staking/utils.ts +25 -0
  116. package/src/token/index.ts +1 -0
  117. package/src/token/token.ts +163 -0
  118. package/src/zeta.ts +105 -0
  119. package/staking/artifacts/AlphStakeAndLock.ral.json +31 -0
  120. package/staking/artifacts/AlphUnstakeVault.ral.json +151 -0
  121. package/staking/artifacts/XAlphStakeVault.ral.json +559 -0
  122. package/staking/artifacts/XAlphToken.ral.json +404 -0
  123. package/staking/artifacts/XAlphUnlockAndStartUnstake.ral.json +31 -0
  124. package/staking/artifacts/examples/GovernanceDemo.ral.json +282 -0
  125. package/staking/artifacts/examples/RewardSharingVault.ral.json +253 -0
  126. package/staking/artifacts/structs.ral.json +47 -0
  127. package/staking/artifacts/ts/AlphUnstakeVault.ts +354 -0
  128. package/staking/artifacts/ts/FullMathTest.ts +175 -0
  129. package/staking/artifacts/ts/GovernanceDemo.ts +726 -0
  130. package/staking/artifacts/ts/RewardSharingVault.ts +559 -0
  131. package/staking/artifacts/ts/TestDynamicArrayByteVec32.ts +431 -0
  132. package/staking/artifacts/ts/TestDynamicSortedArrayForU256.ts +516 -0
  133. package/staking/artifacts/ts/TestMerkleProof.ts +343 -0
  134. package/staking/artifacts/ts/XAlphStakeVault.ts +1120 -0
  135. package/staking/artifacts/ts/XAlphToken.ts +835 -0
  136. package/staking/artifacts/ts/contracts.ts +26 -0
  137. package/staking/artifacts/ts/deployments.ts +109 -0
  138. package/staking/artifacts/ts/index.ts +15 -0
  139. package/staking/artifacts/ts/scripts.ts +35 -0
  140. package/staking/artifacts/ts/types.ts +19 -0
  141. package/staking/artifacts/utils/FullMathTest.ral.json +57 -0
  142. package/staking/artifacts/utils/TestDynamicArrayByteVec32.ral.json +165 -0
  143. package/staking/artifacts/utils/TestDynamicSortedArrayForU256.ral.json +189 -0
  144. package/staking/artifacts/utils/TestMerkleProof.ral.json +134 -0
  145. package/staking/deployments/.deployments.devnet.json +77 -0
  146. package/staking/deployments/.deployments.testnet.json +78 -0
@@ -0,0 +1,343 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ Address,
7
+ Contract,
8
+ ContractState,
9
+ TestContractResult,
10
+ HexString,
11
+ ContractFactory,
12
+ EventSubscribeOptions,
13
+ EventSubscription,
14
+ CallContractParams,
15
+ CallContractResult,
16
+ TestContractParams,
17
+ ContractEvent,
18
+ subscribeContractEvent,
19
+ subscribeContractEvents,
20
+ testMethod,
21
+ callMethod,
22
+ multicallMethods,
23
+ fetchContractState,
24
+ Asset,
25
+ ContractInstance,
26
+ getContractEventsCurrentCount,
27
+ TestContractParamsWithoutMaps,
28
+ TestContractResultWithoutMaps,
29
+ SignExecuteContractMethodParams,
30
+ SignExecuteScriptTxResult,
31
+ signExecuteMethod,
32
+ addStdIdToFields,
33
+ encodeContractFields,
34
+ Narrow,
35
+ } from "@alephium/web3";
36
+ import { default as TestMerkleProofContractJson } from "../utils/TestMerkleProof.ral.json";
37
+ import { getContractByCodeHash, registerContract } from "./contracts";
38
+ import * as types from "./types";
39
+
40
+ // Custom types for the contract
41
+ export namespace TestMerkleProofTypes {
42
+ export type Fields = {
43
+ merkleRoot: HexString;
44
+ };
45
+
46
+ export type State = ContractState<Fields>;
47
+
48
+ export type UpdateRootEvent = ContractEvent<{
49
+ newMerkleRoot: HexString;
50
+ updatedBy: Address;
51
+ }>;
52
+
53
+ export interface CallMethodTable {
54
+ getMerkleRoot: {
55
+ params: Omit<CallContractParams<{}>, "args">;
56
+ result: CallContractResult<HexString>;
57
+ };
58
+ updateRoot: {
59
+ params: CallContractParams<{ newMerkleRoot: HexString }>;
60
+ result: CallContractResult<null>;
61
+ };
62
+ verify: {
63
+ params: CallContractParams<{ proof: HexString; dataHash: HexString }>;
64
+ result: CallContractResult<boolean>;
65
+ };
66
+ hashPair: {
67
+ params: CallContractParams<{ a: HexString; b: HexString }>;
68
+ result: CallContractResult<HexString>;
69
+ };
70
+ hash: {
71
+ params: CallContractParams<{ dataToHash: HexString }>;
72
+ result: CallContractResult<HexString>;
73
+ };
74
+ }
75
+ export type CallMethodParams<T extends keyof CallMethodTable> =
76
+ CallMethodTable[T]["params"];
77
+ export type CallMethodResult<T extends keyof CallMethodTable> =
78
+ CallMethodTable[T]["result"];
79
+ export type MultiCallParams = Partial<{
80
+ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"];
81
+ }>;
82
+ export type MultiCallResults<T extends MultiCallParams> = {
83
+ [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable
84
+ ? CallMethodTable[MaybeName]["result"]
85
+ : undefined;
86
+ };
87
+ export type MulticallReturnType<Callss extends MultiCallParams[]> = {
88
+ [index in keyof Callss]: MultiCallResults<Callss[index]>;
89
+ };
90
+
91
+ export interface SignExecuteMethodTable {
92
+ getMerkleRoot: {
93
+ params: Omit<SignExecuteContractMethodParams<{}>, "args">;
94
+ result: SignExecuteScriptTxResult;
95
+ };
96
+ updateRoot: {
97
+ params: SignExecuteContractMethodParams<{ newMerkleRoot: HexString }>;
98
+ result: SignExecuteScriptTxResult;
99
+ };
100
+ verify: {
101
+ params: SignExecuteContractMethodParams<{
102
+ proof: HexString;
103
+ dataHash: HexString;
104
+ }>;
105
+ result: SignExecuteScriptTxResult;
106
+ };
107
+ hashPair: {
108
+ params: SignExecuteContractMethodParams<{ a: HexString; b: HexString }>;
109
+ result: SignExecuteScriptTxResult;
110
+ };
111
+ hash: {
112
+ params: SignExecuteContractMethodParams<{ dataToHash: HexString }>;
113
+ result: SignExecuteScriptTxResult;
114
+ };
115
+ }
116
+ export type SignExecuteMethodParams<T extends keyof SignExecuteMethodTable> =
117
+ SignExecuteMethodTable[T]["params"];
118
+ export type SignExecuteMethodResult<T extends keyof SignExecuteMethodTable> =
119
+ SignExecuteMethodTable[T]["result"];
120
+ }
121
+
122
+ class Factory extends ContractFactory<
123
+ TestMerkleProofInstance,
124
+ TestMerkleProofTypes.Fields
125
+ > {
126
+ encodeFields(fields: TestMerkleProofTypes.Fields) {
127
+ return encodeContractFields(
128
+ addStdIdToFields(this.contract, fields),
129
+ this.contract.fieldsSig,
130
+ types.AllStructs
131
+ );
132
+ }
133
+
134
+ eventIndex = { UpdateRoot: 0 };
135
+ consts = {
136
+ MerkleProofErrorCodes: {
137
+ InvalidProofSize: BigInt("11001"),
138
+ InvalidDataHash: BigInt("11002"),
139
+ InvalidMerkleRoot: BigInt("11003"),
140
+ },
141
+ };
142
+
143
+ at(address: string): TestMerkleProofInstance {
144
+ return new TestMerkleProofInstance(address);
145
+ }
146
+
147
+ tests = {
148
+ getMerkleRoot: async (
149
+ params: Omit<
150
+ TestContractParamsWithoutMaps<TestMerkleProofTypes.Fields, never>,
151
+ "args"
152
+ >
153
+ ): Promise<TestContractResultWithoutMaps<HexString>> => {
154
+ return testMethod(this, "getMerkleRoot", params, getContractByCodeHash);
155
+ },
156
+ updateRoot: async (
157
+ params: TestContractParamsWithoutMaps<
158
+ TestMerkleProofTypes.Fields,
159
+ { newMerkleRoot: HexString }
160
+ >
161
+ ): Promise<TestContractResultWithoutMaps<null>> => {
162
+ return testMethod(this, "updateRoot", params, getContractByCodeHash);
163
+ },
164
+ verify: async (
165
+ params: TestContractParamsWithoutMaps<
166
+ TestMerkleProofTypes.Fields,
167
+ { proof: HexString; dataHash: HexString }
168
+ >
169
+ ): Promise<TestContractResultWithoutMaps<boolean>> => {
170
+ return testMethod(this, "verify", params, getContractByCodeHash);
171
+ },
172
+ hashPair: async (
173
+ params: TestContractParamsWithoutMaps<
174
+ TestMerkleProofTypes.Fields,
175
+ { a: HexString; b: HexString }
176
+ >
177
+ ): Promise<TestContractResultWithoutMaps<HexString>> => {
178
+ return testMethod(this, "hashPair", params, getContractByCodeHash);
179
+ },
180
+ hash: async (
181
+ params: TestContractParamsWithoutMaps<
182
+ TestMerkleProofTypes.Fields,
183
+ { dataToHash: HexString }
184
+ >
185
+ ): Promise<TestContractResultWithoutMaps<HexString>> => {
186
+ return testMethod(this, "hash", params, getContractByCodeHash);
187
+ },
188
+ };
189
+
190
+ stateForTest(
191
+ initFields: TestMerkleProofTypes.Fields,
192
+ asset?: Asset,
193
+ address?: string
194
+ ) {
195
+ return this.stateForTest_(initFields, asset, address, undefined);
196
+ }
197
+ }
198
+
199
+ // Use this object to test and deploy the contract
200
+ export const TestMerkleProof = new Factory(
201
+ Contract.fromJson(
202
+ TestMerkleProofContractJson,
203
+ "",
204
+ "a6d0eadb4c4fbe25c0155c0a2e31ba6cc7a993cd27b3f708c6af418af44a7c57",
205
+ types.AllStructs
206
+ )
207
+ );
208
+ registerContract(TestMerkleProof);
209
+
210
+ // Use this class to interact with the blockchain
211
+ export class TestMerkleProofInstance extends ContractInstance {
212
+ constructor(address: Address) {
213
+ super(address);
214
+ }
215
+
216
+ async fetchState(): Promise<TestMerkleProofTypes.State> {
217
+ return fetchContractState(TestMerkleProof, this);
218
+ }
219
+
220
+ async getContractEventsCurrentCount(): Promise<number> {
221
+ return getContractEventsCurrentCount(this.address);
222
+ }
223
+
224
+ subscribeUpdateRootEvent(
225
+ options: EventSubscribeOptions<TestMerkleProofTypes.UpdateRootEvent>,
226
+ fromCount?: number
227
+ ): EventSubscription {
228
+ return subscribeContractEvent(
229
+ TestMerkleProof.contract,
230
+ this,
231
+ options,
232
+ "UpdateRoot",
233
+ fromCount
234
+ );
235
+ }
236
+
237
+ view = {
238
+ getMerkleRoot: async (
239
+ params?: TestMerkleProofTypes.CallMethodParams<"getMerkleRoot">
240
+ ): Promise<TestMerkleProofTypes.CallMethodResult<"getMerkleRoot">> => {
241
+ return callMethod(
242
+ TestMerkleProof,
243
+ this,
244
+ "getMerkleRoot",
245
+ params === undefined ? {} : params,
246
+ getContractByCodeHash
247
+ );
248
+ },
249
+ updateRoot: async (
250
+ params: TestMerkleProofTypes.CallMethodParams<"updateRoot">
251
+ ): Promise<TestMerkleProofTypes.CallMethodResult<"updateRoot">> => {
252
+ return callMethod(
253
+ TestMerkleProof,
254
+ this,
255
+ "updateRoot",
256
+ params,
257
+ getContractByCodeHash
258
+ );
259
+ },
260
+ verify: async (
261
+ params: TestMerkleProofTypes.CallMethodParams<"verify">
262
+ ): Promise<TestMerkleProofTypes.CallMethodResult<"verify">> => {
263
+ return callMethod(
264
+ TestMerkleProof,
265
+ this,
266
+ "verify",
267
+ params,
268
+ getContractByCodeHash
269
+ );
270
+ },
271
+ hashPair: async (
272
+ params: TestMerkleProofTypes.CallMethodParams<"hashPair">
273
+ ): Promise<TestMerkleProofTypes.CallMethodResult<"hashPair">> => {
274
+ return callMethod(
275
+ TestMerkleProof,
276
+ this,
277
+ "hashPair",
278
+ params,
279
+ getContractByCodeHash
280
+ );
281
+ },
282
+ hash: async (
283
+ params: TestMerkleProofTypes.CallMethodParams<"hash">
284
+ ): Promise<TestMerkleProofTypes.CallMethodResult<"hash">> => {
285
+ return callMethod(
286
+ TestMerkleProof,
287
+ this,
288
+ "hash",
289
+ params,
290
+ getContractByCodeHash
291
+ );
292
+ },
293
+ };
294
+
295
+ transact = {
296
+ getMerkleRoot: async (
297
+ params: TestMerkleProofTypes.SignExecuteMethodParams<"getMerkleRoot">
298
+ ): Promise<
299
+ TestMerkleProofTypes.SignExecuteMethodResult<"getMerkleRoot">
300
+ > => {
301
+ return signExecuteMethod(TestMerkleProof, this, "getMerkleRoot", params);
302
+ },
303
+ updateRoot: async (
304
+ params: TestMerkleProofTypes.SignExecuteMethodParams<"updateRoot">
305
+ ): Promise<TestMerkleProofTypes.SignExecuteMethodResult<"updateRoot">> => {
306
+ return signExecuteMethod(TestMerkleProof, this, "updateRoot", params);
307
+ },
308
+ verify: async (
309
+ params: TestMerkleProofTypes.SignExecuteMethodParams<"verify">
310
+ ): Promise<TestMerkleProofTypes.SignExecuteMethodResult<"verify">> => {
311
+ return signExecuteMethod(TestMerkleProof, this, "verify", params);
312
+ },
313
+ hashPair: async (
314
+ params: TestMerkleProofTypes.SignExecuteMethodParams<"hashPair">
315
+ ): Promise<TestMerkleProofTypes.SignExecuteMethodResult<"hashPair">> => {
316
+ return signExecuteMethod(TestMerkleProof, this, "hashPair", params);
317
+ },
318
+ hash: async (
319
+ params: TestMerkleProofTypes.SignExecuteMethodParams<"hash">
320
+ ): Promise<TestMerkleProofTypes.SignExecuteMethodResult<"hash">> => {
321
+ return signExecuteMethod(TestMerkleProof, this, "hash", params);
322
+ },
323
+ };
324
+
325
+ async multicall<Calls extends TestMerkleProofTypes.MultiCallParams>(
326
+ calls: Calls
327
+ ): Promise<TestMerkleProofTypes.MultiCallResults<Calls>>;
328
+ async multicall<Callss extends TestMerkleProofTypes.MultiCallParams[]>(
329
+ callss: Narrow<Callss>
330
+ ): Promise<TestMerkleProofTypes.MulticallReturnType<Callss>>;
331
+ async multicall<
332
+ Callss extends
333
+ | TestMerkleProofTypes.MultiCallParams
334
+ | TestMerkleProofTypes.MultiCallParams[]
335
+ >(callss: Callss): Promise<unknown> {
336
+ return await multicallMethods(
337
+ TestMerkleProof,
338
+ this,
339
+ callss,
340
+ getContractByCodeHash
341
+ );
342
+ }
343
+ }