@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,312 @@
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 TestTokenContractJson } from "../test/TestToken.ral.json";
37
+ import { getContractByCodeHash, registerContract } from "./contracts";
38
+
39
+ // Custom types for the contract
40
+ export namespace TestTokenTypes {
41
+ export type Fields = {
42
+ symbol: HexString;
43
+ name: HexString;
44
+ decimals: bigint;
45
+ totalSupply: bigint;
46
+ };
47
+
48
+ export type State = ContractState<Fields>;
49
+
50
+ export interface CallMethodTable {
51
+ getSymbol: {
52
+ params: Omit<CallContractParams<{}>, "args">;
53
+ result: CallContractResult<HexString>;
54
+ };
55
+ getName: {
56
+ params: Omit<CallContractParams<{}>, "args">;
57
+ result: CallContractResult<HexString>;
58
+ };
59
+ getDecimals: {
60
+ params: Omit<CallContractParams<{}>, "args">;
61
+ result: CallContractResult<bigint>;
62
+ };
63
+ getTotalSupply: {
64
+ params: Omit<CallContractParams<{}>, "args">;
65
+ result: CallContractResult<bigint>;
66
+ };
67
+ getToken: {
68
+ params: CallContractParams<{ sender: Address; amount: bigint }>;
69
+ result: CallContractResult<null>;
70
+ };
71
+ }
72
+ export type CallMethodParams<T extends keyof CallMethodTable> =
73
+ CallMethodTable[T]["params"];
74
+ export type CallMethodResult<T extends keyof CallMethodTable> =
75
+ CallMethodTable[T]["result"];
76
+ export type MultiCallParams = Partial<{
77
+ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"];
78
+ }>;
79
+ export type MultiCallResults<T extends MultiCallParams> = {
80
+ [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable
81
+ ? CallMethodTable[MaybeName]["result"]
82
+ : undefined;
83
+ };
84
+ export type MulticallReturnType<Callss extends MultiCallParams[]> = {
85
+ [index in keyof Callss]: MultiCallResults<Callss[index]>;
86
+ };
87
+
88
+ export interface SignExecuteMethodTable {
89
+ getSymbol: {
90
+ params: Omit<SignExecuteContractMethodParams<{}>, "args">;
91
+ result: SignExecuteScriptTxResult;
92
+ };
93
+ getName: {
94
+ params: Omit<SignExecuteContractMethodParams<{}>, "args">;
95
+ result: SignExecuteScriptTxResult;
96
+ };
97
+ getDecimals: {
98
+ params: Omit<SignExecuteContractMethodParams<{}>, "args">;
99
+ result: SignExecuteScriptTxResult;
100
+ };
101
+ getTotalSupply: {
102
+ params: Omit<SignExecuteContractMethodParams<{}>, "args">;
103
+ result: SignExecuteScriptTxResult;
104
+ };
105
+ getToken: {
106
+ params: SignExecuteContractMethodParams<{
107
+ sender: Address;
108
+ amount: bigint;
109
+ }>;
110
+ result: SignExecuteScriptTxResult;
111
+ };
112
+ }
113
+ export type SignExecuteMethodParams<T extends keyof SignExecuteMethodTable> =
114
+ SignExecuteMethodTable[T]["params"];
115
+ export type SignExecuteMethodResult<T extends keyof SignExecuteMethodTable> =
116
+ SignExecuteMethodTable[T]["result"];
117
+ }
118
+
119
+ class Factory extends ContractFactory<
120
+ TestTokenInstance,
121
+ TestTokenTypes.Fields
122
+ > {
123
+ encodeFields(fields: TestTokenTypes.Fields) {
124
+ return encodeContractFields(
125
+ addStdIdToFields(this.contract, fields),
126
+ this.contract.fieldsSig,
127
+ []
128
+ );
129
+ }
130
+
131
+ at(address: string): TestTokenInstance {
132
+ return new TestTokenInstance(address);
133
+ }
134
+
135
+ tests = {
136
+ getSymbol: async (
137
+ params: Omit<
138
+ TestContractParamsWithoutMaps<TestTokenTypes.Fields, never>,
139
+ "args"
140
+ >
141
+ ): Promise<TestContractResultWithoutMaps<HexString>> => {
142
+ return testMethod(this, "getSymbol", params, getContractByCodeHash);
143
+ },
144
+ getName: async (
145
+ params: Omit<
146
+ TestContractParamsWithoutMaps<TestTokenTypes.Fields, never>,
147
+ "args"
148
+ >
149
+ ): Promise<TestContractResultWithoutMaps<HexString>> => {
150
+ return testMethod(this, "getName", params, getContractByCodeHash);
151
+ },
152
+ getDecimals: async (
153
+ params: Omit<
154
+ TestContractParamsWithoutMaps<TestTokenTypes.Fields, never>,
155
+ "args"
156
+ >
157
+ ): Promise<TestContractResultWithoutMaps<bigint>> => {
158
+ return testMethod(this, "getDecimals", params, getContractByCodeHash);
159
+ },
160
+ getTotalSupply: async (
161
+ params: Omit<
162
+ TestContractParamsWithoutMaps<TestTokenTypes.Fields, never>,
163
+ "args"
164
+ >
165
+ ): Promise<TestContractResultWithoutMaps<bigint>> => {
166
+ return testMethod(this, "getTotalSupply", params, getContractByCodeHash);
167
+ },
168
+ getToken: async (
169
+ params: TestContractParamsWithoutMaps<
170
+ TestTokenTypes.Fields,
171
+ { sender: Address; amount: bigint }
172
+ >
173
+ ): Promise<TestContractResultWithoutMaps<null>> => {
174
+ return testMethod(this, "getToken", params, getContractByCodeHash);
175
+ },
176
+ };
177
+
178
+ stateForTest(
179
+ initFields: TestTokenTypes.Fields,
180
+ asset?: Asset,
181
+ address?: string
182
+ ) {
183
+ return this.stateForTest_(initFields, asset, address, undefined);
184
+ }
185
+ }
186
+
187
+ // Use this object to test and deploy the contract
188
+ export const TestToken = new Factory(
189
+ Contract.fromJson(
190
+ TestTokenContractJson,
191
+ "",
192
+ "f9dac4e7d0bf28a2bc019f43138339e23afadde322d50441cdfe029993bf35f3",
193
+ []
194
+ )
195
+ );
196
+ registerContract(TestToken);
197
+
198
+ // Use this class to interact with the blockchain
199
+ export class TestTokenInstance extends ContractInstance {
200
+ constructor(address: Address) {
201
+ super(address);
202
+ }
203
+
204
+ async fetchState(): Promise<TestTokenTypes.State> {
205
+ return fetchContractState(TestToken, this);
206
+ }
207
+
208
+ view = {
209
+ getSymbol: async (
210
+ params?: TestTokenTypes.CallMethodParams<"getSymbol">
211
+ ): Promise<TestTokenTypes.CallMethodResult<"getSymbol">> => {
212
+ return callMethod(
213
+ TestToken,
214
+ this,
215
+ "getSymbol",
216
+ params === undefined ? {} : params,
217
+ getContractByCodeHash
218
+ );
219
+ },
220
+ getName: async (
221
+ params?: TestTokenTypes.CallMethodParams<"getName">
222
+ ): Promise<TestTokenTypes.CallMethodResult<"getName">> => {
223
+ return callMethod(
224
+ TestToken,
225
+ this,
226
+ "getName",
227
+ params === undefined ? {} : params,
228
+ getContractByCodeHash
229
+ );
230
+ },
231
+ getDecimals: async (
232
+ params?: TestTokenTypes.CallMethodParams<"getDecimals">
233
+ ): Promise<TestTokenTypes.CallMethodResult<"getDecimals">> => {
234
+ return callMethod(
235
+ TestToken,
236
+ this,
237
+ "getDecimals",
238
+ params === undefined ? {} : params,
239
+ getContractByCodeHash
240
+ );
241
+ },
242
+ getTotalSupply: async (
243
+ params?: TestTokenTypes.CallMethodParams<"getTotalSupply">
244
+ ): Promise<TestTokenTypes.CallMethodResult<"getTotalSupply">> => {
245
+ return callMethod(
246
+ TestToken,
247
+ this,
248
+ "getTotalSupply",
249
+ params === undefined ? {} : params,
250
+ getContractByCodeHash
251
+ );
252
+ },
253
+ getToken: async (
254
+ params: TestTokenTypes.CallMethodParams<"getToken">
255
+ ): Promise<TestTokenTypes.CallMethodResult<"getToken">> => {
256
+ return callMethod(
257
+ TestToken,
258
+ this,
259
+ "getToken",
260
+ params,
261
+ getContractByCodeHash
262
+ );
263
+ },
264
+ };
265
+
266
+ transact = {
267
+ getSymbol: async (
268
+ params: TestTokenTypes.SignExecuteMethodParams<"getSymbol">
269
+ ): Promise<TestTokenTypes.SignExecuteMethodResult<"getSymbol">> => {
270
+ return signExecuteMethod(TestToken, this, "getSymbol", params);
271
+ },
272
+ getName: async (
273
+ params: TestTokenTypes.SignExecuteMethodParams<"getName">
274
+ ): Promise<TestTokenTypes.SignExecuteMethodResult<"getName">> => {
275
+ return signExecuteMethod(TestToken, this, "getName", params);
276
+ },
277
+ getDecimals: async (
278
+ params: TestTokenTypes.SignExecuteMethodParams<"getDecimals">
279
+ ): Promise<TestTokenTypes.SignExecuteMethodResult<"getDecimals">> => {
280
+ return signExecuteMethod(TestToken, this, "getDecimals", params);
281
+ },
282
+ getTotalSupply: async (
283
+ params: TestTokenTypes.SignExecuteMethodParams<"getTotalSupply">
284
+ ): Promise<TestTokenTypes.SignExecuteMethodResult<"getTotalSupply">> => {
285
+ return signExecuteMethod(TestToken, this, "getTotalSupply", params);
286
+ },
287
+ getToken: async (
288
+ params: TestTokenTypes.SignExecuteMethodParams<"getToken">
289
+ ): Promise<TestTokenTypes.SignExecuteMethodResult<"getToken">> => {
290
+ return signExecuteMethod(TestToken, this, "getToken", params);
291
+ },
292
+ };
293
+
294
+ async multicall<Calls extends TestTokenTypes.MultiCallParams>(
295
+ calls: Calls
296
+ ): Promise<TestTokenTypes.MultiCallResults<Calls>>;
297
+ async multicall<Callss extends TestTokenTypes.MultiCallParams[]>(
298
+ callss: Narrow<Callss>
299
+ ): Promise<TestTokenTypes.MulticallReturnType<Callss>>;
300
+ async multicall<
301
+ Callss extends
302
+ | TestTokenTypes.MultiCallParams
303
+ | TestTokenTypes.MultiCallParams[]
304
+ >(callss: Callss): Promise<unknown> {
305
+ return await multicallMethods(
306
+ TestToken,
307
+ this,
308
+ callss,
309
+ getContractByCodeHash
310
+ );
311
+ }
312
+ }