@silvana-one/coordination 1.0.24 → 1.0.25

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 (54) hide show
  1. package/dist/node/build.d.ts +5 -0
  2. package/dist/node/build.js +21 -0
  3. package/dist/node/build.js.map +1 -0
  4. package/dist/node/faucet.d.ts +34 -0
  5. package/dist/node/faucet.js +91 -0
  6. package/dist/node/faucet.js.map +1 -0
  7. package/dist/node/index.cjs +337 -4
  8. package/dist/node/index.d.ts +5 -0
  9. package/dist/node/index.js +5 -0
  10. package/dist/node/index.js.map +1 -1
  11. package/dist/node/ipfs.d.ts +13 -0
  12. package/dist/node/ipfs.js +88 -0
  13. package/dist/node/ipfs.js.map +1 -0
  14. package/dist/node/public-key.d.ts +24 -0
  15. package/dist/node/public-key.js +44 -0
  16. package/dist/node/public-key.js.map +1 -0
  17. package/dist/node/publish.js.map +1 -1
  18. package/dist/node/upgrade.js +1 -12
  19. package/dist/node/upgrade.js.map +1 -1
  20. package/dist/node/walrus.d.ts +12 -0
  21. package/dist/node/walrus.js +73 -0
  22. package/dist/node/walrus.js.map +1 -0
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/tsconfig.web.tsbuildinfo +1 -1
  25. package/dist/web/build.d.ts +5 -0
  26. package/dist/web/build.js +21 -0
  27. package/dist/web/build.js.map +1 -0
  28. package/dist/web/faucet.d.ts +34 -0
  29. package/dist/web/faucet.js +91 -0
  30. package/dist/web/faucet.js.map +1 -0
  31. package/dist/web/index.d.ts +5 -0
  32. package/dist/web/index.js +5 -0
  33. package/dist/web/index.js.map +1 -1
  34. package/dist/web/ipfs.d.ts +13 -0
  35. package/dist/web/ipfs.js +88 -0
  36. package/dist/web/ipfs.js.map +1 -0
  37. package/dist/web/public-key.d.ts +24 -0
  38. package/dist/web/public-key.js +44 -0
  39. package/dist/web/public-key.js.map +1 -0
  40. package/dist/web/publish.js.map +1 -1
  41. package/dist/web/upgrade.js +1 -12
  42. package/dist/web/upgrade.js.map +1 -1
  43. package/dist/web/walrus.d.ts +12 -0
  44. package/dist/web/walrus.js +73 -0
  45. package/dist/web/walrus.js.map +1 -0
  46. package/package.json +3 -2
  47. package/src/build.ts +33 -0
  48. package/src/faucet.ts +145 -0
  49. package/src/index.ts +5 -0
  50. package/src/ipfs.ts +105 -0
  51. package/src/public-key.ts +66 -0
  52. package/src/publish.ts +0 -2
  53. package/src/upgrade.ts +1 -18
  54. package/src/walrus.ts +96 -0
@@ -0,0 +1,88 @@
1
+ import { PinataSDK } from "pinata";
2
+ // IPFS
3
+ const pinataJwt = process.env.PINATA_JWT;
4
+ const pinataGateway = process.env.PINATA_GATEWAY_URL;
5
+ const pinataGatewayKey = process.env.PINATA_GATEWAY_API_KEY;
6
+ const pinata = new PinataSDK({
7
+ pinataJwt,
8
+ pinataGateway,
9
+ pinataGatewayKey,
10
+ });
11
+ export async function saveToIPFS(params) {
12
+ try {
13
+ if (!pinataJwt || !pinataGateway || !pinataGatewayKey) {
14
+ throw new Error("PINATA_JWT, PINATA_GATEWAY_URL, or PINATA_GATEWAY_API_KEY is not set");
15
+ }
16
+ const { data, filename, owner, days, description } = params;
17
+ if (data === undefined || data === null)
18
+ throw new Error("data is not set");
19
+ if (typeof data !== "string")
20
+ throw new Error("data is not a string");
21
+ if (data.length === 0)
22
+ throw new Error("data is empty");
23
+ const file = new File([data], filename ?? "da", {
24
+ type: "text/plain",
25
+ });
26
+ const expiry = days ? Date.now() + days * 24 * 60 * 60 * 1000 : undefined;
27
+ const keyvalues = {
28
+ app: "dex:devnet",
29
+ owner: owner ?? "",
30
+ expires: expiry ? new Date(expiry).toISOString() : "never",
31
+ expiry: expiry ? expiry.toString() : "0",
32
+ description: description ?? "",
33
+ type: "text/plain",
34
+ mime_type: "text/plain",
35
+ };
36
+ const upload = await pinata.upload.public
37
+ .file(file, {
38
+ metadata: {
39
+ name: filename ?? "da",
40
+ keyvalues,
41
+ },
42
+ })
43
+ .name(filename ?? "da");
44
+ console.log("IPFS: ", upload.cid);
45
+ return upload.cid;
46
+ }
47
+ catch (error) {
48
+ console.error("Save to IPFS failed", error.message);
49
+ return undefined;
50
+ }
51
+ }
52
+ export async function readFromIPFS(params) {
53
+ const { blobId } = params;
54
+ if (!blobId) {
55
+ throw new Error("blobId is not set");
56
+ }
57
+ try {
58
+ if (!pinataJwt || !pinataGateway || !pinataGatewayKey) {
59
+ throw new Error("PINATA_JWT, PINATA_GATEWAY_URL, or PINATA_GATEWAY_API_KEY is not set");
60
+ }
61
+ const url = await getIPFSUrl({ blobId });
62
+ const response = await fetch(url);
63
+ if (!response.ok) {
64
+ throw new Error("Failed to fetch from IPFS");
65
+ }
66
+ const data = await response.text();
67
+ return data;
68
+ }
69
+ catch (error) {
70
+ console.error("Read from IPFS failed", error);
71
+ return undefined;
72
+ }
73
+ }
74
+ export async function getIPFSUrl(params) {
75
+ const { blobId } = params;
76
+ if (!blobId) {
77
+ throw new Error("blobId is not set");
78
+ }
79
+ const gateway = process.env.PINATA_GATEWAY_URL ?? "https://gateway.pinata.cloud/ipfs/";
80
+ const apiToken = process.env.PINATA_GATEWAY_API_KEY;
81
+ const url = "https://" +
82
+ gateway +
83
+ "/ipfs/" +
84
+ blobId +
85
+ (apiToken ? "?pinataGatewayToken=" + apiToken : "");
86
+ return url;
87
+ }
88
+ //# sourceMappingURL=ipfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../src/ipfs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export declare function publicKeyToU256(publicKey: string): bigint;
2
+ export declare function u256ToFields(u256: bigint): {
3
+ x: bigint;
4
+ isOdd: boolean;
5
+ };
6
+ export declare function u256ToPublicKey(u256: bigint): string;
7
+ export declare function convertMinaPublicKey(publicKey: string): {
8
+ x: bigint;
9
+ isOdd: boolean;
10
+ };
11
+ export declare function convertMinaPublicKeyToFields(publicKey?: string): bigint[];
12
+ export declare function signFields(params: {
13
+ privateKey: string;
14
+ fields: bigint[];
15
+ }): {
16
+ signature: string;
17
+ data: bigint[];
18
+ publicKey: string;
19
+ };
20
+ export declare function verifyFields(params: {
21
+ publicKey: string;
22
+ fields: bigint[];
23
+ signature: string;
24
+ }): boolean;
@@ -0,0 +1,44 @@
1
+ import Client from "mina-signer";
2
+ import { convertFieldsToPublicKey } from "./base58/public-key.js";
3
+ const client = new Client({
4
+ network: "testnet",
5
+ });
6
+ export function publicKeyToU256(publicKey) {
7
+ const raw = client.publicKeyToRaw(publicKey);
8
+ const swappedRaw = raw
9
+ .match(/.{1,2}/g)
10
+ ?.reverse()
11
+ .join("") || "";
12
+ const u256 = BigInt("0x" + swappedRaw);
13
+ return u256;
14
+ }
15
+ const MAX_BIT = 2n ** 255n;
16
+ export function u256ToFields(u256) {
17
+ const isOdd = (u256 & MAX_BIT) != 0n;
18
+ const x = u256 - (isOdd ? MAX_BIT : 0n);
19
+ return { x, isOdd };
20
+ }
21
+ export function u256ToPublicKey(u256) {
22
+ const { x, isOdd } = u256ToFields(u256);
23
+ return convertFieldsToPublicKey({ x, isOdd });
24
+ }
25
+ export function convertMinaPublicKey(publicKey) {
26
+ const u256 = publicKeyToU256(publicKey);
27
+ return u256ToFields(u256);
28
+ }
29
+ export function convertMinaPublicKeyToFields(publicKey) {
30
+ if (!publicKey)
31
+ return [];
32
+ const { x, isOdd } = convertMinaPublicKey(publicKey);
33
+ return [x, isOdd ? 1n : 0n];
34
+ }
35
+ export function signFields(params) {
36
+ const { privateKey, fields } = params;
37
+ const signedData = client.signFields(fields.map(BigInt), privateKey);
38
+ return signedData;
39
+ }
40
+ export function verifyFields(params) {
41
+ const { publicKey, fields, signature } = params;
42
+ return client.verifyFields({ data: fields, publicKey, signature });
43
+ }
44
+ //# sourceMappingURL=public-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-key.js","sourceRoot":"","sources":["../../src/public-key.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACxB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GACd,GAAG;SACA,KAAK,CAAC,SAAS,CAAC;QACjB,EAAE,OAAO,EAAE;SACV,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,GAAW,EAAE,IAAI,IAAI,CAAC;AAEnC,MAAM,UAAU,YAAY,CAAC,IAAY;IAIvC,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,wBAAwB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IAIpD,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAAkB;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAgD;IAKzE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IACrE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAI5B;IACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAChD,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAIpC;IAGC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;QAC1C,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CACxC;QACE;YACE,MAAM,EAAE,YAAY;SACrB;KACF,EACD,OAAO,CACR,CAAC;IACF,oDAAoD;IACpD,oBAAoB;IACpB,MAAM;IACN,oDAAoD;IACpD,aAAa;IACb,mCAAmC;IACnC,6BAA6B;IAC7B,2BAA2B;IAC3B,OAAO;IACP,MAAM;IACN,+BAA+B;IAE/B,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,uCAAuC;IACvC,gCAAgC;IAEhC,uCAAuC;IACvC,uBAAuB;IACvB,mCAAmC;IACnC,qBAAqB;IACrB,uBAAuB;IACvB,MAAM;IACN,0BAA0B;IAC1B,OAAO,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAIpC;IAGC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;QAC1C,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CACxC;QACE;YACE,MAAM,EAAE,YAAY;SACrB;KACF,EACD,OAAO,CACR,CAAC;IACF,oDAAoD;IACpD,oBAAoB;IACpB,MAAM;IACN,oDAAoD;IACpD,aAAa;IACb,mCAAmC;IACnC,6BAA6B;IAC7B,2BAA2B;IAC3B,OAAO;IACP,MAAM;IACN,+BAA+B;IAE/B,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,uCAAuC;IACvC,gCAAgC;IAEhC,uCAAuC;IACvC,uBAAuB;IACvB,mCAAmC;IACnC,qBAAqB;IACrB,uBAAuB;IACvB,MAAM;IACN,0BAA0B;IAC1B,OAAO,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Transaction, UpgradePolicy, } from "@mysten/sui/transactions";
1
+ import { Transaction, UpgradePolicy } from "@mysten/sui/transactions";
2
2
  import { suiClient } from "./sui-client.js";
3
3
  export async function buildUpgradeTx(params) {
4
4
  const { modules, dependencies, digest, address, keypair, packageID, upgradeCap, } = params;
@@ -17,12 +17,10 @@ export async function buildUpgradeTx(params) {
17
17
  modules,
18
18
  dependencies,
19
19
  });
20
- //console.log("upgradeData", upgradeData);
21
20
  const commitData = tx.moveCall({
22
21
  target: "0x2::package::commit_upgrade",
23
22
  arguments: [tx.object(upgradeCap), upgradeData],
24
23
  });
25
- //console.log("commitData", commitData);
26
24
  const paginatedCoins = await suiClient.getCoins({
27
25
  owner: address,
28
26
  });
@@ -33,19 +31,10 @@ export async function buildUpgradeTx(params) {
33
31
  digest: coin.digest,
34
32
  };
35
33
  });
36
- //console.log("coins", coins);
37
34
  tx.setSender(address);
38
35
  tx.setGasOwner(address);
39
36
  tx.setGasPayment(coins);
40
- //console.log("tx", await tx.toJSON());
41
37
  tx.setGasBudget(300_000_000);
42
- //console.log("tx", await tx.toJSON());
43
- console.time("sign");
44
- // const signedTx = await tx.sign({
45
- // signer: keypair,
46
- // client: suiClient,
47
- // });
48
- console.timeEnd("sign");
49
38
  return { tx };
50
39
  }
51
40
  //# sourceMappingURL=upgrade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/upgrade.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAEX,aAAa,GACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAQpC;IAGC,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,GACX,GAAG,MAAM,CAAC;IACX,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,iCAAiC;QACzC,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;SAC7B;KACF,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS;QAClB,MAAM;QACN,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,0CAA0C;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;KAChD,CAAC,CAAC;IACH,wCAAwC;IACxC,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;QAC9C,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,8BAA8B;IAE9B,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,uCAAuC;IACvC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE7B,uCAAuC;IACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,mCAAmC;IACnC,qBAAqB;IACrB,uBAAuB;IACvB,MAAM;IACN,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/upgrade.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAQpC;IAGC,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,GACX,GAAG,MAAM,CAAC;IACX,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,iCAAiC;QACzC,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;SAC7B;KACF,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS;QAClB,MAAM;QACN,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;QAC9C,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE7B,OAAO,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const walrusDaemon: "local" | "testnet";
2
+ export declare function saveToWalrus({ data, address, numEpochs, }: {
3
+ data: string;
4
+ address?: string;
5
+ numEpochs?: number;
6
+ }): Promise<string | undefined>;
7
+ export declare function readFromWalrus({ blobId, }: {
8
+ blobId: string;
9
+ }): Promise<string | undefined>;
10
+ export declare function getWalrusUrl(params: {
11
+ blobId: string;
12
+ }): Promise<string>;
@@ -0,0 +1,73 @@
1
+ export const walrusDaemon = (process.env.NEXT_PUBLIC_WALRUS_DAEMON ||
2
+ process.env.WALRUS_DAEMON ||
3
+ "testnet");
4
+ const daemon = walrusDaemon === "local" ? "local" : "testnet";
5
+ const basePublisherUrl = daemon === "local"
6
+ ? "http://127.0.0.1:31415"
7
+ : "https://wal-publisher-testnet.staketab.org";
8
+ //"https://publisher.walrus-testnet.walrus.space";
9
+ const readerUrl = daemon === "local"
10
+ ? "http://127.0.0.1:31415/v1/blobs/"
11
+ : "https://wal-aggregator-testnet.staketab.org/v1/blobs/";
12
+ //"https://aggregator.walrus-testnet.walrus.space/v1/blobs/";
13
+ const MIN_EPOCHS = 14;
14
+ const MAX_EPOCHS = 53;
15
+ export async function saveToWalrus({ data, address, numEpochs = MIN_EPOCHS, }) {
16
+ let sendToParam = address ? `&send_object_to=${address}` : "";
17
+ let epochs = numEpochs < MIN_EPOCHS
18
+ ? MIN_EPOCHS
19
+ : numEpochs > MAX_EPOCHS
20
+ ? MAX_EPOCHS
21
+ : numEpochs;
22
+ console.log("Writing to Walrus");
23
+ console.time("written");
24
+ const response = await fetch(`${basePublisherUrl}/v1/blobs?epochs=${epochs}${sendToParam}`, {
25
+ method: "PUT",
26
+ body: data,
27
+ });
28
+ console.timeEnd("written");
29
+ if (response.status === 200) {
30
+ const info = await response.json();
31
+ //console.log("info", info);
32
+ const blobId = info?.newlyCreated?.blobObject?.blobId ?? info?.alreadyCertified?.blobId;
33
+ console.log("Walrus blobId", blobId);
34
+ return blobId;
35
+ }
36
+ else {
37
+ console.error("saveToDA failed:", {
38
+ statusText: response.statusText,
39
+ status: response.status,
40
+ });
41
+ return undefined;
42
+ }
43
+ }
44
+ export async function readFromWalrus({ blobId, }) {
45
+ if (!blobId) {
46
+ throw new Error("blobId is not provided");
47
+ }
48
+ console.log("Reading walrus blob", blobId);
49
+ console.time("read");
50
+ const response = await fetch(`${readerUrl}${blobId}`);
51
+ console.timeEnd("read");
52
+ if (!response.ok) {
53
+ console.error("readFromDA failed:", {
54
+ statusText: response.statusText,
55
+ status: response.status,
56
+ });
57
+ return undefined;
58
+ }
59
+ else {
60
+ const blob = await response.text();
61
+ //console.log("blob", blob);
62
+ return blob;
63
+ }
64
+ }
65
+ export async function getWalrusUrl(params) {
66
+ const { blobId } = params;
67
+ if (!blobId) {
68
+ throw new Error("blobId is not set");
69
+ }
70
+ const url = `${readerUrl}${blobId}`;
71
+ return url;
72
+ }
73
+ //# sourceMappingURL=walrus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrus.js","sourceRoot":"","sources":["../../src/walrus.ts"],"names":[],"mappings":"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"}