@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,179 @@
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 PoolConfigContractJson } from "../PoolConfig.ral.json";
37
+ import { getContractByCodeHash, registerContract } from "./contracts";
38
+ import * as types from "./types";
39
+
40
+ // Custom types for the contract
41
+ export namespace PoolConfigTypes {
42
+ export type Fields = {
43
+ config: types.Config;
44
+ };
45
+
46
+ export type State = ContractState<Fields>;
47
+
48
+ export interface CallMethodTable {
49
+ get: {
50
+ params: Omit<CallContractParams<{}>, "args">;
51
+ result: CallContractResult<types.Config>;
52
+ };
53
+ }
54
+ export type CallMethodParams<T extends keyof CallMethodTable> =
55
+ CallMethodTable[T]["params"];
56
+ export type CallMethodResult<T extends keyof CallMethodTable> =
57
+ CallMethodTable[T]["result"];
58
+ export type MultiCallParams = Partial<{
59
+ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"];
60
+ }>;
61
+ export type MultiCallResults<T extends MultiCallParams> = {
62
+ [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable
63
+ ? CallMethodTable[MaybeName]["result"]
64
+ : undefined;
65
+ };
66
+ export type MulticallReturnType<Callss extends MultiCallParams[]> = {
67
+ [index in keyof Callss]: MultiCallResults<Callss[index]>;
68
+ };
69
+
70
+ export interface SignExecuteMethodTable {
71
+ get: {
72
+ params: Omit<SignExecuteContractMethodParams<{}>, "args">;
73
+ result: SignExecuteScriptTxResult;
74
+ };
75
+ }
76
+ export type SignExecuteMethodParams<T extends keyof SignExecuteMethodTable> =
77
+ SignExecuteMethodTable[T]["params"];
78
+ export type SignExecuteMethodResult<T extends keyof SignExecuteMethodTable> =
79
+ SignExecuteMethodTable[T]["result"];
80
+ }
81
+
82
+ class Factory extends ContractFactory<
83
+ PoolConfigInstance,
84
+ PoolConfigTypes.Fields
85
+ > {
86
+ encodeFields(fields: PoolConfigTypes.Fields) {
87
+ return encodeContractFields(
88
+ addStdIdToFields(this.contract, fields),
89
+ this.contract.fieldsSig,
90
+ types.AllStructs
91
+ );
92
+ }
93
+
94
+ at(address: string): PoolConfigInstance {
95
+ return new PoolConfigInstance(address);
96
+ }
97
+
98
+ tests = {
99
+ get: async (
100
+ params: Omit<
101
+ TestContractParamsWithoutMaps<PoolConfigTypes.Fields, never>,
102
+ "args"
103
+ >
104
+ ): Promise<TestContractResultWithoutMaps<types.Config>> => {
105
+ return testMethod(this, "get", params, getContractByCodeHash);
106
+ },
107
+ };
108
+
109
+ stateForTest(
110
+ initFields: PoolConfigTypes.Fields,
111
+ asset?: Asset,
112
+ address?: string
113
+ ) {
114
+ return this.stateForTest_(initFields, asset, address, undefined);
115
+ }
116
+ }
117
+
118
+ // Use this object to test and deploy the contract
119
+ export const PoolConfig = new Factory(
120
+ Contract.fromJson(
121
+ PoolConfigContractJson,
122
+ "",
123
+ "aa0838a7a189126cf0627d909b65ba3cfc692813db3d5ccd950763a87d52a0d6",
124
+ types.AllStructs
125
+ )
126
+ );
127
+ registerContract(PoolConfig);
128
+
129
+ // Use this class to interact with the blockchain
130
+ export class PoolConfigInstance extends ContractInstance {
131
+ constructor(address: Address) {
132
+ super(address);
133
+ }
134
+
135
+ async fetchState(): Promise<PoolConfigTypes.State> {
136
+ return fetchContractState(PoolConfig, this);
137
+ }
138
+
139
+ view = {
140
+ get: async (
141
+ params?: PoolConfigTypes.CallMethodParams<"get">
142
+ ): Promise<PoolConfigTypes.CallMethodResult<"get">> => {
143
+ return callMethod(
144
+ PoolConfig,
145
+ this,
146
+ "get",
147
+ params === undefined ? {} : params,
148
+ getContractByCodeHash
149
+ );
150
+ },
151
+ };
152
+
153
+ transact = {
154
+ get: async (
155
+ params: PoolConfigTypes.SignExecuteMethodParams<"get">
156
+ ): Promise<PoolConfigTypes.SignExecuteMethodResult<"get">> => {
157
+ return signExecuteMethod(PoolConfig, this, "get", params);
158
+ },
159
+ };
160
+
161
+ async multicall<Calls extends PoolConfigTypes.MultiCallParams>(
162
+ calls: Calls
163
+ ): Promise<PoolConfigTypes.MultiCallResults<Calls>>;
164
+ async multicall<Callss extends PoolConfigTypes.MultiCallParams[]>(
165
+ callss: Narrow<Callss>
166
+ ): Promise<PoolConfigTypes.MulticallReturnType<Callss>>;
167
+ async multicall<
168
+ Callss extends
169
+ | PoolConfigTypes.MultiCallParams
170
+ | PoolConfigTypes.MultiCallParams[]
171
+ >(callss: Callss): Promise<unknown> {
172
+ return await multicallMethods(
173
+ PoolConfig,
174
+ this,
175
+ callss,
176
+ getContractByCodeHash
177
+ );
178
+ }
179
+ }