@silvana-one/coordination 1.0.15

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 (118) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/dist/node/agent.d.ts +93 -0
  4. package/dist/node/agent.js +278 -0
  5. package/dist/node/agent.js.map +1 -0
  6. package/dist/node/base58/base58.d.ts +5 -0
  7. package/dist/node/base58/base58.js +108 -0
  8. package/dist/node/base58/base58.js.map +1 -0
  9. package/dist/node/base58/bigint-helpers.d.ts +24 -0
  10. package/dist/node/base58/bigint-helpers.js +214 -0
  11. package/dist/node/base58/bigint-helpers.js.map +1 -0
  12. package/dist/node/base58/index.d.ts +2 -0
  13. package/dist/node/base58/index.js +3 -0
  14. package/dist/node/base58/index.js.map +1 -0
  15. package/dist/node/base58/public-key.d.ts +4 -0
  16. package/dist/node/base58/public-key.js +7 -0
  17. package/dist/node/base58/public-key.js.map +1 -0
  18. package/dist/node/base58/signature.d.ts +3 -0
  19. package/dist/node/base58/signature.js +65 -0
  20. package/dist/node/base58/signature.js.map +1 -0
  21. package/dist/node/base58/versions.d.ts +11 -0
  22. package/dist/node/base58/versions.js +12 -0
  23. package/dist/node/base58/versions.js.map +1 -0
  24. package/dist/node/execute.d.ts +16 -0
  25. package/dist/node/execute.js +142 -0
  26. package/dist/node/execute.js.map +1 -0
  27. package/dist/node/fetch.d.ts +8 -0
  28. package/dist/node/fetch.js +41 -0
  29. package/dist/node/fetch.js.map +1 -0
  30. package/dist/node/index.cjs +878 -0
  31. package/dist/node/index.d.ts +9 -0
  32. package/dist/node/index.js +10 -0
  33. package/dist/node/index.js.map +1 -0
  34. package/dist/node/mvr.d.ts +14 -0
  35. package/dist/node/mvr.js +70 -0
  36. package/dist/node/mvr.js.map +1 -0
  37. package/dist/node/publish.d.ts +9 -0
  38. package/dist/node/publish.js +40 -0
  39. package/dist/node/publish.js.map +1 -0
  40. package/dist/node/sleep.d.ts +1 -0
  41. package/dist/node/sleep.js +4 -0
  42. package/dist/node/sleep.js.map +1 -0
  43. package/dist/node/sui-client.d.ts +4 -0
  44. package/dist/node/sui-client.js +39 -0
  45. package/dist/node/sui-client.js.map +1 -0
  46. package/dist/node/types.d.ts +4 -0
  47. package/dist/node/types.js +2 -0
  48. package/dist/node/types.js.map +1 -0
  49. package/dist/node/upgrade.d.ts +13 -0
  50. package/dist/node/upgrade.js +51 -0
  51. package/dist/node/upgrade.js.map +1 -0
  52. package/dist/tsconfig.tsbuildinfo +1 -0
  53. package/dist/tsconfig.web.tsbuildinfo +1 -0
  54. package/dist/web/agent.d.ts +93 -0
  55. package/dist/web/agent.js +278 -0
  56. package/dist/web/agent.js.map +1 -0
  57. package/dist/web/base58/base58.d.ts +5 -0
  58. package/dist/web/base58/base58.js +108 -0
  59. package/dist/web/base58/base58.js.map +1 -0
  60. package/dist/web/base58/bigint-helpers.d.ts +24 -0
  61. package/dist/web/base58/bigint-helpers.js +214 -0
  62. package/dist/web/base58/bigint-helpers.js.map +1 -0
  63. package/dist/web/base58/index.d.ts +2 -0
  64. package/dist/web/base58/index.js +3 -0
  65. package/dist/web/base58/index.js.map +1 -0
  66. package/dist/web/base58/public-key.d.ts +4 -0
  67. package/dist/web/base58/public-key.js +7 -0
  68. package/dist/web/base58/public-key.js.map +1 -0
  69. package/dist/web/base58/signature.d.ts +3 -0
  70. package/dist/web/base58/signature.js +65 -0
  71. package/dist/web/base58/signature.js.map +1 -0
  72. package/dist/web/base58/versions.d.ts +11 -0
  73. package/dist/web/base58/versions.js +12 -0
  74. package/dist/web/base58/versions.js.map +1 -0
  75. package/dist/web/execute.d.ts +16 -0
  76. package/dist/web/execute.js +142 -0
  77. package/dist/web/execute.js.map +1 -0
  78. package/dist/web/fetch.d.ts +8 -0
  79. package/dist/web/fetch.js +41 -0
  80. package/dist/web/fetch.js.map +1 -0
  81. package/dist/web/index.d.ts +9 -0
  82. package/dist/web/index.js +10 -0
  83. package/dist/web/index.js.map +1 -0
  84. package/dist/web/mvr.d.ts +14 -0
  85. package/dist/web/mvr.js +70 -0
  86. package/dist/web/mvr.js.map +1 -0
  87. package/dist/web/publish.d.ts +9 -0
  88. package/dist/web/publish.js +40 -0
  89. package/dist/web/publish.js.map +1 -0
  90. package/dist/web/sleep.d.ts +1 -0
  91. package/dist/web/sleep.js +4 -0
  92. package/dist/web/sleep.js.map +1 -0
  93. package/dist/web/sui-client.d.ts +4 -0
  94. package/dist/web/sui-client.js +39 -0
  95. package/dist/web/sui-client.js.map +1 -0
  96. package/dist/web/types.d.ts +4 -0
  97. package/dist/web/types.js +2 -0
  98. package/dist/web/types.js.map +1 -0
  99. package/dist/web/upgrade.d.ts +13 -0
  100. package/dist/web/upgrade.js +51 -0
  101. package/dist/web/upgrade.js.map +1 -0
  102. package/package.json +59 -0
  103. package/src/agent.ts +437 -0
  104. package/src/base58/base58.ts +121 -0
  105. package/src/base58/bigint-helpers.ts +236 -0
  106. package/src/base58/index.ts +2 -0
  107. package/src/base58/public-key.ts +13 -0
  108. package/src/base58/signature.ts +89 -0
  109. package/src/base58/versions.ts +12 -0
  110. package/src/execute.ts +176 -0
  111. package/src/fetch.ts +54 -0
  112. package/src/index.ts +9 -0
  113. package/src/mvr.ts +99 -0
  114. package/src/publish.ts +54 -0
  115. package/src/sleep.ts +3 -0
  116. package/src/sui-client.ts +42 -0
  117. package/src/types.ts +4 -0
  118. package/src/upgrade.ts +78 -0
package/src/publish.ts ADDED
@@ -0,0 +1,54 @@
1
+ import { Secp256k1Keypair } from "@mysten/sui/keypairs/secp256k1";
2
+ import { Transaction } from "@mysten/sui/transactions";
3
+ import { SignatureWithBytes } from "@mysten/sui/cryptography";
4
+ import { suiClient } from "./sui-client.js";
5
+
6
+ export async function buildPublishTx(params: {
7
+ modules: string[];
8
+ dependencies: string[];
9
+ keypair: Secp256k1Keypair;
10
+ }): Promise<{
11
+ tx: Transaction;
12
+ }> {
13
+ const { modules, dependencies, keypair } = params;
14
+ const address = keypair.toSuiAddress();
15
+ const tx = new Transaction();
16
+ const { Result: publishedDex } = tx.publish({
17
+ modules,
18
+ dependencies,
19
+ });
20
+ const { Result: dex } = tx.transferObjects(
21
+ [
22
+ {
23
+ Result: publishedDex,
24
+ },
25
+ ],
26
+ address
27
+ );
28
+ // const paginatedCoins = await suiClient.getCoins({
29
+ // owner: address,
30
+ // });
31
+ // const coins = paginatedCoins.data.map((coin) => {
32
+ // return {
33
+ // objectId: coin.coinObjectId,
34
+ // version: coin.version,
35
+ // digest: coin.digest,
36
+ // };
37
+ // });
38
+ // console.log("coins", coins);
39
+
40
+ tx.setSender(address);
41
+ // tx.setGasOwner(address);
42
+ // tx.setGasPayment(coins);
43
+ //console.log("tx", await tx.toJSON());
44
+ //tx.setGasBudget(300_000_000n);
45
+
46
+ //console.log("tx", await tx.toJSON());
47
+ //console.time("sign");
48
+ // const signedTx = await tx.sign({
49
+ // signer: keypair,
50
+ // client: suiClient,
51
+ // });
52
+ //console.timeEnd("sign");
53
+ return { tx };
54
+ }
package/src/sleep.ts ADDED
@@ -0,0 +1,3 @@
1
+ export function sleep(ms: number) {
2
+ return new Promise((resolve) => setTimeout(resolve, ms));
3
+ }
@@ -0,0 +1,42 @@
1
+ import { getFullnodeUrl, SuiClient, SuiEvent } from "@mysten/sui/client";
2
+ import { namedPackagesPlugin, Transaction } from "@mysten/sui/transactions";
3
+
4
+ export type SuiNetwork = "testnet" | "devnet" | "localnet" | "mainnet";
5
+ export const network: SuiNetwork = (process.env.NEXT_PUBLIC_SUI_CHAIN ||
6
+ process.env.SUI_CHAIN ||
7
+ "testnet") as SuiNetwork;
8
+
9
+ if (!network) {
10
+ throw new Error("SUI_CHAIN is not set");
11
+ }
12
+
13
+ if (network === "testnet") {
14
+ const plugin = namedPackagesPlugin({
15
+ url: "https://testnet.mvr.mystenlabs.com",
16
+ });
17
+ Transaction.registerGlobalSerializationPlugin("namedPackagesPlugin", plugin);
18
+ }
19
+
20
+ if (network === "mainnet") {
21
+ // TODO: use @mysten/mvr-static
22
+ const plugin = namedPackagesPlugin({
23
+ url: "https://mainnet.mvr.mystenlabs.com",
24
+ });
25
+ Transaction.registerGlobalSerializationPlugin("namedPackagesPlugin", plugin);
26
+ }
27
+
28
+ export const suiClient = new SuiClient({
29
+ url: getUrl(network),
30
+ });
31
+
32
+ function getUrl(network: SuiNetwork) {
33
+ if (network === "testnet") {
34
+ return "https://rpc-testnet.suiscan.xyz:443";
35
+ } else if (network === "devnet") {
36
+ return "https://rpc-ws-devnet.suiscan.xyz";
37
+ } else if (network === "mainnet") {
38
+ return "https://rpc-mainnet.suiscan.xyz:443";
39
+ } else {
40
+ return getFullnodeUrl(network);
41
+ }
42
+ }
package/src/types.ts ADDED
@@ -0,0 +1,4 @@
1
+ export interface MinaSignature {
2
+ r: bigint;
3
+ s: bigint;
4
+ }
package/src/upgrade.ts ADDED
@@ -0,0 +1,78 @@
1
+ import { Secp256k1Keypair } from "@mysten/sui/keypairs/secp256k1";
2
+ import {
3
+ Transaction,
4
+ TransactionResult,
5
+ UpgradePolicy,
6
+ } from "@mysten/sui/transactions";
7
+ import { UpgradeInfo } from "@mysten/sui/client";
8
+ import { SignatureWithBytes } from "@mysten/sui/cryptography";
9
+ import { suiClient } from "./sui-client.js";
10
+
11
+ export async function buildUpgradeTx(params: {
12
+ modules: string[];
13
+ dependencies: string[];
14
+ digest: number[];
15
+ address: string;
16
+ keypair: Secp256k1Keypair;
17
+ packageID: string;
18
+ upgradeCap: string;
19
+ }): Promise<{
20
+ tx: Transaction;
21
+ }> {
22
+ const {
23
+ modules,
24
+ dependencies,
25
+ digest,
26
+ address,
27
+ keypair,
28
+ packageID,
29
+ upgradeCap,
30
+ } = params;
31
+ const tx = new Transaction();
32
+ const ticket = tx.moveCall({
33
+ target: "0x2::package::authorize_upgrade",
34
+ arguments: [
35
+ tx.object(upgradeCap),
36
+ tx.pure.u8(UpgradePolicy.COMPATIBLE),
37
+ tx.pure.vector("u8", digest),
38
+ ],
39
+ });
40
+ const upgradeData = tx.upgrade({
41
+ package: packageID,
42
+ ticket,
43
+ modules,
44
+ dependencies,
45
+ });
46
+ //console.log("upgradeData", upgradeData);
47
+ const commitData = tx.moveCall({
48
+ target: "0x2::package::commit_upgrade",
49
+ arguments: [tx.object(upgradeCap), upgradeData],
50
+ });
51
+ //console.log("commitData", commitData);
52
+ const paginatedCoins = await suiClient.getCoins({
53
+ owner: address,
54
+ });
55
+ const coins = paginatedCoins.data.map((coin) => {
56
+ return {
57
+ objectId: coin.coinObjectId,
58
+ version: coin.version,
59
+ digest: coin.digest,
60
+ };
61
+ });
62
+ //console.log("coins", coins);
63
+
64
+ tx.setSender(address);
65
+ tx.setGasOwner(address);
66
+ tx.setGasPayment(coins);
67
+ //console.log("tx", await tx.toJSON());
68
+ tx.setGasBudget(300_000_000);
69
+
70
+ //console.log("tx", await tx.toJSON());
71
+ console.time("sign");
72
+ // const signedTx = await tx.sign({
73
+ // signer: keypair,
74
+ // client: suiClient,
75
+ // });
76
+ console.timeEnd("sign");
77
+ return { tx };
78
+ }