@pickhooks/sdk 0.0.0-stage → 0.4.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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +418 -3
  3. package/dist/abis/agents.d.ts +2418 -0
  4. package/dist/abis/agents.js +4 -0
  5. package/dist/abis/any3.d.ts +2123 -0
  6. package/dist/abis/any3.js +3 -0
  7. package/dist/abis/anytax.d.ts +1786 -0
  8. package/dist/abis/anytax.js +3 -0
  9. package/dist/abis/calls.d.ts +2515 -0
  10. package/dist/abis/calls.js +4 -0
  11. package/dist/abis/common.d.ts +449 -0
  12. package/dist/abis/common.js +91 -0
  13. package/dist/abis/dips.d.ts +897 -0
  14. package/dist/abis/dips.js +2 -0
  15. package/dist/abis/index.d.ts +14 -0
  16. package/dist/abis/index.js +14 -0
  17. package/dist/abis/infra.d.ts +701 -0
  18. package/dist/abis/infra.js +4 -0
  19. package/dist/abis/lever.d.ts +1710 -0
  20. package/dist/abis/lever.js +5 -0
  21. package/dist/abis/lever2.d.ts +2710 -0
  22. package/dist/abis/lever2.js +5 -0
  23. package/dist/abis/pools.d.ts +1898 -0
  24. package/dist/abis/pools.js +4 -0
  25. package/dist/abis/sticky.d.ts +953 -0
  26. package/dist/abis/sticky.js +4 -0
  27. package/dist/abis/sticky2.d.ts +3750 -0
  28. package/dist/abis/sticky2.js +8 -0
  29. package/dist/abis/v1.d.ts +1627 -0
  30. package/dist/abis/v1.js +5 -0
  31. package/dist/abis/v2.d.ts +3264 -0
  32. package/dist/abis/v2.js +8 -0
  33. package/dist/addresses.d.ts +100 -0
  34. package/dist/addresses.js +71 -0
  35. package/dist/agents-catalog.d.ts +318 -0
  36. package/dist/agents-catalog.js +353 -0
  37. package/dist/agents.d.ts +543 -0
  38. package/dist/agents.js +667 -0
  39. package/dist/any.d.ts +447 -0
  40. package/dist/any.js +729 -0
  41. package/dist/api.d.ts +62 -0
  42. package/dist/api.js +30 -0
  43. package/dist/blocks.d.ts +107 -0
  44. package/dist/blocks.js +126 -0
  45. package/dist/coin-rules-config.d.ts +8 -0
  46. package/dist/coin-rules-config.js +13 -0
  47. package/dist/coin-rules.d.ts +383 -0
  48. package/dist/coin-rules.js +878 -0
  49. package/dist/coins.d.ts +217 -0
  50. package/dist/coins.js +520 -0
  51. package/dist/desks.d.ts +298 -0
  52. package/dist/desks.js +343 -0
  53. package/dist/dips.d.ts +133 -0
  54. package/dist/dips.js +148 -0
  55. package/dist/errors.d.ts +35 -0
  56. package/dist/errors.js +414 -0
  57. package/dist/index.d.ts +104 -0
  58. package/dist/index.js +91 -0
  59. package/dist/infinity.d.ts +63 -0
  60. package/dist/infinity.js +96 -0
  61. package/dist/infra.d.ts +112 -0
  62. package/dist/infra.js +114 -0
  63. package/dist/lever.d.ts +391 -0
  64. package/dist/lever.js +419 -0
  65. package/dist/pools.d.ts +274 -0
  66. package/dist/pools.js +405 -0
  67. package/dist/sticky-rules.d.ts +179 -0
  68. package/dist/sticky-rules.js +580 -0
  69. package/dist/sticky-sim.d.ts +125 -0
  70. package/dist/sticky-sim.js +637 -0
  71. package/dist/sticky.d.ts +286 -0
  72. package/dist/sticky.js +420 -0
  73. package/dist/tlock.d.ts +67 -0
  74. package/dist/tlock.js +185 -0
  75. package/dist/tx.d.ts +72 -0
  76. package/dist/tx.js +78 -0
  77. package/dist/v2.d.ts +106 -0
  78. package/dist/v2.js +61 -0
  79. package/dist/v3.d.ts +42 -0
  80. package/dist/v3.js +98 -0
  81. package/dist/wallet.d.ts +80 -0
  82. package/dist/wallet.js +115 -0
  83. package/dist/watch.d.ts +82 -0
  84. package/dist/watch.js +194 -0
  85. package/package.json +67 -4
@@ -0,0 +1,125 @@
1
+ /**
2
+ * sticky rules in the browser: the coin's rule engine (src/sticky/StickyToken.sol) line for line, on bigints, and a test
3
+ * run of random trades on top. The engine is checked against the contract trade by trade (test/sticky/StickyTrace.t.sol
4
+ * writes a run, scripts/dev/sticky-sim-diff.mjs replays it here), so what the launcher shows is what the coin would do.
5
+ * The chain stays the truth: this only shows a creator what a table does before the launch.
6
+ */
7
+ import { type Row } from "./sticky-rules.js";
8
+ export declare const SUPPLY: bigint;
9
+ /** The addresses the coin does not keep lots for. */
10
+ export declare const POOL = "pool";
11
+ export declare const POT = "pot";
12
+ export declare const DEAD = "dead";
13
+ export type Lot = {
14
+ amount: bigint;
15
+ lk: bigint;
16
+ since: number;
17
+ flags: number;
18
+ };
19
+ export type Stats = {
20
+ holders: number;
21
+ buys: number;
22
+ sells: number;
23
+ highAt: number;
24
+ lastBuy: number;
25
+ volume: bigint;
26
+ net: bigint;
27
+ peak: bigint;
28
+ high: bigint;
29
+ };
30
+ export type Now = {
31
+ t: number;
32
+ b: number;
33
+ };
34
+ export type CoinState = {
35
+ rows: Row[];
36
+ release: number;
37
+ off: number;
38
+ creator: string;
39
+ start: number;
40
+ startBlock: number;
41
+ curveSupply: bigint;
42
+ stats: Stats;
43
+ bal: Map<string, bigint>;
44
+ lots: Map<string, Lot[]>;
45
+ };
46
+ export type Result = {
47
+ ok: true;
48
+ burn: bigint;
49
+ toPot: bigint;
50
+ drop: bigint;
51
+ } | {
52
+ ok: false;
53
+ why: number | "nope";
54
+ };
55
+ export declare function newCoin(rows: (bigint | Row)[], release: number, creator: string, curveSupply: bigint, start?: number, startBlock?: number): CoinState;
56
+ /** A transfer as the coin runs it: out of POOL is a buy, into POOL a sell, anything else a send. */
57
+ export declare function transfer(s: CoinState, from: string, to: string, amount: bigint, now: Now): Result;
58
+ /** What `a` could sell right now (size rows left out, like the coin's view). */
59
+ export declare function sellable(s: CoinState, a: string, now: Now): bigint;
60
+ export declare function balanceOf(s: CoinState, a: string): bigint;
61
+ export declare function lots(s: CoinState, a: string): Lot[];
62
+ /** The curve as the coin prices it: x * y = k from the start price, so price / start = (supply / coins left)². */
63
+ export declare const CURVE: {
64
+ supply: bigint;
65
+ startFdvBnb: number;
66
+ };
67
+ export type SimReport = {
68
+ trades: number;
69
+ hours: number;
70
+ buys: {
71
+ ok: number;
72
+ refused: number;
73
+ };
74
+ sells: {
75
+ ok: number;
76
+ refused: number;
77
+ };
78
+ sends: {
79
+ ok: number;
80
+ refused: number;
81
+ };
82
+ /** refusals by row (0 based) and LOCKED (254) */
83
+ refusals: {
84
+ row: number;
85
+ count: number;
86
+ }[];
87
+ /** longest a wallet that wanted to sell had to wait until a sell went through (seconds) */
88
+ longestWait: number;
89
+ /** wallets still unable to sell when the run ended */
90
+ stillWaiting: number;
91
+ /** after the run: seconds until every wallet can sell everything (null: longer than 31 days) */
92
+ allFreeAfter: number | null;
93
+ burnedPct: number;
94
+ pot: {
95
+ inPct: number;
96
+ drops: number;
97
+ paidPct: number;
98
+ biggestX: number;
99
+ leftPct: number;
100
+ };
101
+ snipers: {
102
+ count: number;
103
+ firstSellAfter: number | null;
104
+ };
105
+ splits: {
106
+ count: number;
107
+ refusedAfter: number;
108
+ };
109
+ /** a scanner's test: a tiny buy and an instant sell an hour after launch */
110
+ scanner: {
111
+ buy: number | null;
112
+ sell: number | null;
113
+ };
114
+ };
115
+ /**
116
+ * Random trades on a fresh coin with this table: the creator's first buy, three snipers in the first blocks, wallets
117
+ * that come, buy, hold for a while and sell (and try again when refused), some bags split to fresh wallets that then
118
+ * try to sell. The same seed gives the same run.
119
+ */
120
+ export declare function simulate(rows: bigint[], release: number, opts?: {
121
+ seed?: number;
122
+ trades?: number;
123
+ devBuyBnb?: number;
124
+ start?: number;
125
+ }): SimReport;