@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
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # Silvana API
@@ -0,0 +1,17 @@
1
+ import { Cache, Field } from "o1js";
2
+ export type Compilable = {
3
+ compile({ cache }?: {
4
+ cache: Cache;
5
+ }): Promise<{
6
+ verificationKey: {
7
+ data: string;
8
+ hash: Field;
9
+ };
10
+ }>;
11
+ };
12
+ export type CompileDependencies = Record<
13
+ /** Transaction type */
14
+ string,
15
+ /** List of contract names */
16
+ string[]>;
17
+ export declare const contractList: Record<string, Compilable>;
@@ -0,0 +1,19 @@
1
+ import { FungibleToken, AdvancedFungibleToken, FungibleTokenAdmin, FungibleTokenAdvancedAdmin, FungibleTokenBidContract, FungibleTokenOfferContract, FungibleTokenClaimContract, } from "@silvana-one/token";
2
+ import { NFT, Collection, AdvancedCollection, NFTAdmin, NFTAdvancedAdmin, } from "@silvana-one/nft";
3
+ import { VerificationKeyUpgradeAuthority } from "@silvana-one/upgradable";
4
+ export const contractList = {
5
+ FungibleToken: FungibleToken,
6
+ FungibleTokenAdmin: FungibleTokenAdmin,
7
+ AdvancedFungibleToken: AdvancedFungibleToken,
8
+ FungibleTokenAdvancedAdmin: FungibleTokenAdvancedAdmin,
9
+ FungibleTokenBidContract: FungibleTokenBidContract,
10
+ FungibleTokenOfferContract: FungibleTokenOfferContract,
11
+ FungibleTokenClaimContract: FungibleTokenClaimContract,
12
+ NFT: NFT,
13
+ Collection: Collection, // TODO: better type
14
+ AdvancedCollection: AdvancedCollection, // TODO: better type
15
+ NFTAdmin: NFTAdmin,
16
+ NFTAdvancedAdmin: NFTAdvancedAdmin,
17
+ VerificationKeyUpgradeAuthority: VerificationKeyUpgradeAuthority,
18
+ };
19
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,GAAG,EACH,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAkB1E,MAAM,CAAC,MAAM,YAAY,GAA+B;IACtD,aAAa,EAAE,aAAa;IAC5B,kBAAkB,EAAE,kBAAkB;IACtC,qBAAqB,EAAE,qBAAqB;IAC5C,0BAA0B,EAAE,0BAA0B;IACtD,wBAAwB,EAAE,wBAAwB;IAClD,0BAA0B,EAAE,0BAA0B;IACtD,0BAA0B,EAAE,0BAA0B;IACtD,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,UAAmC,EAAE,oBAAoB;IACrE,kBAAkB,EAAE,kBAA2C,EAAE,oBAAoB;IACrF,QAAQ,EAAE,QAAQ;IAClB,gBAAgB,EAAE,gBAAgB;IAClC,+BAA+B,EAAE,+BAA+B;CACjE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const LAUNCH_FEE = 10000000000;
2
+ export declare const TRANSACTION_FEE = 100000000;
@@ -0,0 +1,3 @@
1
+ export const LAUNCH_FEE = 10e9;
2
+ export const TRANSACTION_FEE = 1e8;
3
+ //# sourceMappingURL=fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/fee.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { PublicKey, Field, Account } 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 declare function fetchMinaAccount(params: {
11
+ publicKey: string | PublicKey;
12
+ tokenId?: string | Field | undefined;
13
+ force?: boolean;
14
+ }): Promise<Account | undefined>;
@@ -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"}