@silvana-one/abi 0.1.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 (117) hide show
  1. package/README.md +1 -0
  2. package/dist/node/contracts.d.ts +17 -0
  3. package/dist/node/contracts.js +19 -0
  4. package/dist/node/contracts.js.map +1 -0
  5. package/dist/node/fee.d.ts +2 -0
  6. package/dist/node/fee.js +3 -0
  7. package/dist/node/fee.js.map +1 -0
  8. package/dist/node/fetch.d.ts +14 -0
  9. package/dist/node/fetch.js +59 -0
  10. package/dist/node/fetch.js.map +1 -0
  11. package/dist/node/index.cjs +1119 -0
  12. package/dist/node/index.d.ts +6 -0
  13. package/dist/node/index.js +7 -0
  14. package/dist/node/index.js.map +1 -0
  15. package/dist/node/info/address.d.ts +1 -0
  16. package/dist/node/info/address.js +20 -0
  17. package/dist/node/info/address.js.map +1 -0
  18. package/dist/node/info/index.d.ts +1 -0
  19. package/dist/node/info/index.js +2 -0
  20. package/dist/node/info/index.js.map +1 -0
  21. package/dist/node/token/build.d.ts +46 -0
  22. package/dist/node/token/build.js +789 -0
  23. package/dist/node/token/build.js.map +1 -0
  24. package/dist/node/token/contracts.d.ts +17 -0
  25. package/dist/node/token/contracts.js +13 -0
  26. package/dist/node/token/contracts.js.map +1 -0
  27. package/dist/node/token/index.d.ts +3 -0
  28. package/dist/node/token/index.js +4 -0
  29. package/dist/node/token/index.js.map +1 -0
  30. package/dist/node/token/info.d.ts +11 -0
  31. package/dist/node/token/info.js +528 -0
  32. package/dist/node/token/info.js.map +1 -0
  33. package/dist/node/types.d.ts +4 -0
  34. package/dist/node/types.js +2 -0
  35. package/dist/node/types.js.map +1 -0
  36. package/dist/node/vk/devnet.d.ts +2 -0
  37. package/dist/node/vk/devnet.js +86 -0
  38. package/dist/node/vk/devnet.js.map +1 -0
  39. package/dist/node/vk/index.d.ts +4 -0
  40. package/dist/node/vk/index.js +5 -0
  41. package/dist/node/vk/index.js.map +1 -0
  42. package/dist/node/vk/mainnet.d.ts +2 -0
  43. package/dist/node/vk/mainnet.js +86 -0
  44. package/dist/node/vk/mainnet.js.map +1 -0
  45. package/dist/node/vk/types.d.ts +10 -0
  46. package/dist/node/vk/types.js +2 -0
  47. package/dist/node/vk/types.js.map +1 -0
  48. package/dist/node/vk/vk.d.ts +2 -0
  49. package/dist/node/vk/vk.js +7 -0
  50. package/dist/node/vk/vk.js.map +1 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -0
  52. package/dist/tsconfig.web.tsbuildinfo +1 -0
  53. package/dist/web/contracts.d.ts +17 -0
  54. package/dist/web/contracts.js +19 -0
  55. package/dist/web/contracts.js.map +1 -0
  56. package/dist/web/fee.d.ts +2 -0
  57. package/dist/web/fee.js +3 -0
  58. package/dist/web/fee.js.map +1 -0
  59. package/dist/web/fetch.d.ts +14 -0
  60. package/dist/web/fetch.js +59 -0
  61. package/dist/web/fetch.js.map +1 -0
  62. package/dist/web/index.d.ts +6 -0
  63. package/dist/web/index.js +7 -0
  64. package/dist/web/index.js.map +1 -0
  65. package/dist/web/info/address.d.ts +1 -0
  66. package/dist/web/info/address.js +20 -0
  67. package/dist/web/info/address.js.map +1 -0
  68. package/dist/web/info/index.d.ts +1 -0
  69. package/dist/web/info/index.js +2 -0
  70. package/dist/web/info/index.js.map +1 -0
  71. package/dist/web/token/build.d.ts +46 -0
  72. package/dist/web/token/build.js +789 -0
  73. package/dist/web/token/build.js.map +1 -0
  74. package/dist/web/token/contracts.d.ts +17 -0
  75. package/dist/web/token/contracts.js +13 -0
  76. package/dist/web/token/contracts.js.map +1 -0
  77. package/dist/web/token/index.d.ts +3 -0
  78. package/dist/web/token/index.js +4 -0
  79. package/dist/web/token/index.js.map +1 -0
  80. package/dist/web/token/info.d.ts +11 -0
  81. package/dist/web/token/info.js +528 -0
  82. package/dist/web/token/info.js.map +1 -0
  83. package/dist/web/types.d.ts +4 -0
  84. package/dist/web/types.js +2 -0
  85. package/dist/web/types.js.map +1 -0
  86. package/dist/web/vk/devnet.d.ts +2 -0
  87. package/dist/web/vk/devnet.js +86 -0
  88. package/dist/web/vk/devnet.js.map +1 -0
  89. package/dist/web/vk/index.d.ts +4 -0
  90. package/dist/web/vk/index.js +5 -0
  91. package/dist/web/vk/index.js.map +1 -0
  92. package/dist/web/vk/mainnet.d.ts +2 -0
  93. package/dist/web/vk/mainnet.js +86 -0
  94. package/dist/web/vk/mainnet.js.map +1 -0
  95. package/dist/web/vk/types.d.ts +10 -0
  96. package/dist/web/vk/types.js +2 -0
  97. package/dist/web/vk/types.js.map +1 -0
  98. package/dist/web/vk/vk.d.ts +2 -0
  99. package/dist/web/vk/vk.js +7 -0
  100. package/dist/web/vk/vk.js.map +1 -0
  101. package/package.json +69 -0
  102. package/src/contracts.ts +50 -0
  103. package/src/fee.ts +2 -0
  104. package/src/fetch.ts +73 -0
  105. package/src/index.ts +6 -0
  106. package/src/info/address.ts +25 -0
  107. package/src/info/index.ts +1 -0
  108. package/src/token/build.ts +1014 -0
  109. package/src/token/contracts.ts +40 -0
  110. package/src/token/index.ts +3 -0
  111. package/src/token/info.ts +600 -0
  112. package/src/types.ts +4 -0
  113. package/src/vk/devnet.ts +88 -0
  114. package/src/vk/index.ts +4 -0
  115. package/src/vk/mainnet.ts +88 -0
  116. package/src/vk/types.ts +16 -0
  117. package/src/vk/vk.ts +8 -0
@@ -0,0 +1,59 @@
1
+ import { fetchAccount } from "o1js";
2
+ /**
3
+ * Fetches the Mina account for a given public key with error handling
4
+ * @param params the parameters for fetching the account
5
+ * @param params.publicKey the public key of the account
6
+ * @param params.tokenId the token id of the account
7
+ * @param params.force whether to force the fetch - use it only if you are sure the account exists
8
+ * @returns the account object
9
+ */
10
+ export async function fetchMinaAccount(params) {
11
+ const { publicKey, tokenId, force = false } = params;
12
+ const timeout = 1000 * 60 * 3; // 3 minutes
13
+ let attempt = 0;
14
+ const startTime = Date.now();
15
+ let result = { account: undefined };
16
+ while (Date.now() - startTime < timeout) {
17
+ try {
18
+ const result = await fetchAccount({
19
+ publicKey,
20
+ tokenId,
21
+ });
22
+ return result.account;
23
+ }
24
+ catch (error) {
25
+ if (force === true)
26
+ console.log("Error in fetchMinaAccount:", {
27
+ error,
28
+ publicKey: typeof publicKey === "string" ? publicKey : publicKey.toBase58(),
29
+ tokenId: tokenId?.toString(),
30
+ force,
31
+ });
32
+ else {
33
+ console.log("fetchMinaAccount error", {
34
+ error,
35
+ publicKey: typeof publicKey === "string" ? publicKey : publicKey.toBase58(),
36
+ tokenId: tokenId?.toString(),
37
+ force,
38
+ });
39
+ return result.account;
40
+ }
41
+ }
42
+ attempt++;
43
+ await sleep(1000 * 6 * attempt); // to handle rate limit we increase the interval
44
+ }
45
+ if (force === true)
46
+ throw new Error(`fetchMinaAccount timeout
47
+ ${{
48
+ publicKey: typeof publicKey === "string" ? publicKey : publicKey.toBase58(),
49
+ tokenId: tokenId?.toString(),
50
+ force,
51
+ }}`);
52
+ else
53
+ console.log("fetchMinaAccount timeout", typeof publicKey === "string" ? publicKey : publicKey.toBase58(), tokenId?.toString(), force);
54
+ return result.account;
55
+ }
56
+ function sleep(ms) {
57
+ return new Promise((resolve) => setTimeout(resolve, ms));
58
+ }
59
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAW,MAAM,MAAM,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAItC;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;IAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,KAAK,IAAI;gBAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;oBACxC,KAAK;oBACL,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC5B,KAAK;iBACN,CAAC,CAAC;iBACA,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;oBACpC,KAAK;oBACL,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC5B,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;QACV,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,gDAAgD;IACnF,CAAC;IACD,IAAI,KAAK,KAAK,IAAI;QAChB,MAAM,IAAI,KAAK,CACb;QACE;YACA,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC5B,KAAK;SACN,EAAE,CACJ,CAAC;;QAEF,OAAO,CAAC,GAAG,CACT,0BAA0B,EAC1B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAChE,OAAO,EAAE,QAAQ,EAAE,EACnB,KAAK,CACN,CAAC;IACJ,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./fee.js";
2
+ export * from "./token/index.js";
3
+ export * from "./types.js";
4
+ export * from "./fetch.js";
5
+ export * from "./vk/index.js";
6
+ export * from "./info/index.js";
@@ -0,0 +1,7 @@
1
+ export * from "./fee.js";
2
+ export * from "./token/index.js";
3
+ export * from "./types.js";
4
+ export * from "./fetch.js";
5
+ export * from "./vk/index.js";
6
+ export * from "./info/index.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function checkAddress(address: string | undefined): Promise<boolean>;
@@ -0,0 +1,20 @@
1
+ import { PublicKey } from "o1js";
2
+ export async function checkAddress(address) {
3
+ if (!address || typeof address !== "string") {
4
+ console.error("checkAddress params are invalid:", address);
5
+ return false;
6
+ }
7
+ try {
8
+ const publicKey = PublicKey.fromBase58(address);
9
+ if (address !== publicKey.toBase58()) {
10
+ console.error("checkAddress: address is not valid", address, publicKey.toBase58());
11
+ return false;
12
+ }
13
+ return true;
14
+ }
15
+ catch (error) {
16
+ console.error("checkAddress catch", { address, error });
17
+ return false;
18
+ }
19
+ }
20
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/info/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA2B;IAE3B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CACX,oCAAoC,EACpC,OAAO,EACP,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./address.js";
@@ -0,0 +1,2 @@
1
+ export * from "./address.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/info/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { TokenTransactionType, TokenTransactionParams, LaunchTokenAdvancedAdminParams, LaunchTokenStandardAdminParams, LaunchTokenBondingCurveAdminParams } from "@silvana-one/api";
2
+ import { blockchain } from "../types.js";
3
+ import { PublicKey, Transaction } from "o1js";
4
+ export type AdminType = "standard" | "advanced" | "bondingCurve" | "unknown";
5
+ export declare function buildTokenLaunchTransaction(params: {
6
+ chain: blockchain;
7
+ args: LaunchTokenStandardAdminParams | LaunchTokenAdvancedAdminParams | LaunchTokenBondingCurveAdminParams;
8
+ developerAddress?: string;
9
+ provingKey?: string;
10
+ provingFee?: number;
11
+ }): Promise<{
12
+ request: LaunchTokenStandardAdminParams | LaunchTokenAdvancedAdminParams | LaunchTokenBondingCurveAdminParams;
13
+ tx: Transaction<false, false>;
14
+ adminType: AdminType;
15
+ verificationKeyHashes: string[];
16
+ }>;
17
+ export declare function buildTokenTransaction(params: {
18
+ chain: blockchain;
19
+ args: Exclude<TokenTransactionParams, LaunchTokenStandardAdminParams | LaunchTokenAdvancedAdminParams | LaunchTokenBondingCurveAdminParams>;
20
+ developerAddress?: string;
21
+ provingKey?: string;
22
+ provingFee?: number;
23
+ }): Promise<{
24
+ request: Exclude<TokenTransactionParams, LaunchTokenStandardAdminParams | LaunchTokenAdvancedAdminParams | LaunchTokenBondingCurveAdminParams>;
25
+ tx: Transaction<false, false>;
26
+ adminType: AdminType;
27
+ adminContractAddress: PublicKey;
28
+ adminAddress: PublicKey;
29
+ symbol: string;
30
+ verificationKeyHashes: string[];
31
+ }>;
32
+ export declare function getTokenSymbolAndAdmin(params: {
33
+ txType: TokenTransactionType;
34
+ to?: PublicKey;
35
+ offerAddress?: PublicKey;
36
+ bidAddress?: PublicKey;
37
+ tokenAddress: PublicKey;
38
+ chain: blockchain;
39
+ }): Promise<{
40
+ adminContractAddress: PublicKey;
41
+ adminAddress: PublicKey;
42
+ symbol: string;
43
+ adminType: AdminType;
44
+ isToNewAccount?: boolean;
45
+ verificationKeyHashes: string[];
46
+ }>;