@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.
- package/README.md +1 -0
- package/dist/node/contracts.d.ts +17 -0
- package/dist/node/contracts.js +19 -0
- package/dist/node/contracts.js.map +1 -0
- package/dist/node/fee.d.ts +2 -0
- package/dist/node/fee.js +3 -0
- package/dist/node/fee.js.map +1 -0
- package/dist/node/fetch.d.ts +14 -0
- package/dist/node/fetch.js +59 -0
- package/dist/node/fetch.js.map +1 -0
- package/dist/node/index.cjs +1119 -0
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.js +7 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/info/address.d.ts +1 -0
- package/dist/node/info/address.js +20 -0
- package/dist/node/info/address.js.map +1 -0
- package/dist/node/info/index.d.ts +1 -0
- package/dist/node/info/index.js +2 -0
- package/dist/node/info/index.js.map +1 -0
- package/dist/node/token/build.d.ts +46 -0
- package/dist/node/token/build.js +789 -0
- package/dist/node/token/build.js.map +1 -0
- package/dist/node/token/contracts.d.ts +17 -0
- package/dist/node/token/contracts.js +13 -0
- package/dist/node/token/contracts.js.map +1 -0
- package/dist/node/token/index.d.ts +3 -0
- package/dist/node/token/index.js +4 -0
- package/dist/node/token/index.js.map +1 -0
- package/dist/node/token/info.d.ts +11 -0
- package/dist/node/token/info.js +528 -0
- package/dist/node/token/info.js.map +1 -0
- package/dist/node/types.d.ts +4 -0
- package/dist/node/types.js +2 -0
- package/dist/node/types.js.map +1 -0
- package/dist/node/vk/devnet.d.ts +2 -0
- package/dist/node/vk/devnet.js +86 -0
- package/dist/node/vk/devnet.js.map +1 -0
- package/dist/node/vk/index.d.ts +4 -0
- package/dist/node/vk/index.js +5 -0
- package/dist/node/vk/index.js.map +1 -0
- package/dist/node/vk/mainnet.d.ts +2 -0
- package/dist/node/vk/mainnet.js +86 -0
- package/dist/node/vk/mainnet.js.map +1 -0
- package/dist/node/vk/types.d.ts +10 -0
- package/dist/node/vk/types.js +2 -0
- package/dist/node/vk/types.js.map +1 -0
- package/dist/node/vk/vk.d.ts +2 -0
- package/dist/node/vk/vk.js +7 -0
- package/dist/node/vk/vk.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/tsconfig.web.tsbuildinfo +1 -0
- package/dist/web/contracts.d.ts +17 -0
- package/dist/web/contracts.js +19 -0
- package/dist/web/contracts.js.map +1 -0
- package/dist/web/fee.d.ts +2 -0
- package/dist/web/fee.js +3 -0
- package/dist/web/fee.js.map +1 -0
- package/dist/web/fetch.d.ts +14 -0
- package/dist/web/fetch.js +59 -0
- package/dist/web/fetch.js.map +1 -0
- package/dist/web/index.d.ts +6 -0
- package/dist/web/index.js +7 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/info/address.d.ts +1 -0
- package/dist/web/info/address.js +20 -0
- package/dist/web/info/address.js.map +1 -0
- package/dist/web/info/index.d.ts +1 -0
- package/dist/web/info/index.js +2 -0
- package/dist/web/info/index.js.map +1 -0
- package/dist/web/token/build.d.ts +46 -0
- package/dist/web/token/build.js +789 -0
- package/dist/web/token/build.js.map +1 -0
- package/dist/web/token/contracts.d.ts +17 -0
- package/dist/web/token/contracts.js +13 -0
- package/dist/web/token/contracts.js.map +1 -0
- package/dist/web/token/index.d.ts +3 -0
- package/dist/web/token/index.js +4 -0
- package/dist/web/token/index.js.map +1 -0
- package/dist/web/token/info.d.ts +11 -0
- package/dist/web/token/info.js +528 -0
- package/dist/web/token/info.js.map +1 -0
- package/dist/web/types.d.ts +4 -0
- package/dist/web/types.js +2 -0
- package/dist/web/types.js.map +1 -0
- package/dist/web/vk/devnet.d.ts +2 -0
- package/dist/web/vk/devnet.js +86 -0
- package/dist/web/vk/devnet.js.map +1 -0
- package/dist/web/vk/index.d.ts +4 -0
- package/dist/web/vk/index.js +5 -0
- package/dist/web/vk/index.js.map +1 -0
- package/dist/web/vk/mainnet.d.ts +2 -0
- package/dist/web/vk/mainnet.js +86 -0
- package/dist/web/vk/mainnet.js.map +1 -0
- package/dist/web/vk/types.d.ts +10 -0
- package/dist/web/vk/types.js +2 -0
- package/dist/web/vk/types.js.map +1 -0
- package/dist/web/vk/vk.d.ts +2 -0
- package/dist/web/vk/vk.js +7 -0
- package/dist/web/vk/vk.js.map +1 -0
- package/package.json +69 -0
- package/src/contracts.ts +50 -0
- package/src/fee.ts +2 -0
- package/src/fetch.ts +73 -0
- package/src/index.ts +6 -0
- package/src/info/address.ts +25 -0
- package/src/info/index.ts +1 -0
- package/src/token/build.ts +1014 -0
- package/src/token/contracts.ts +40 -0
- package/src/token/index.ts +3 -0
- package/src/token/info.ts +600 -0
- package/src/types.ts +4 -0
- package/src/vk/devnet.ts +88 -0
- package/src/vk/index.ts +4 -0
- package/src/vk/mainnet.ts +88 -0
- package/src/vk/types.ts +16 -0
- 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"}
|
package/dist/node/fee.js
ADDED
|
@@ -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"}
|