@silvana-one/mina-utils 1.0.25 → 1.0.27

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.
@@ -41,6 +41,7 @@ __export(index_exports, {
41
41
  WITNESSES2: () => WITNESSES2,
42
42
  Witness: () => Witness,
43
43
  Zeko: () => Zeko,
44
+ ZekoAlphaNet: () => ZekoAlphaNet,
44
45
  accountBalance: () => accountBalance,
45
46
  accountBalanceMina: () => accountBalanceMina,
46
47
  accountExists: () => accountExists,
@@ -419,6 +420,15 @@ var Zeko = {
419
420
  name: "Zeko",
420
421
  faucet: "https://zeko.io/faucet"
421
422
  };
423
+ var ZekoAlphaNet = {
424
+ mina: ["http://m1.zeko.io/graphql"],
425
+ archive: ["http://m1.zeko.io/graphql"],
426
+ explorerAccountUrl: "",
427
+ explorerTransactionUrl: "",
428
+ chainId: "zeko:alphanet",
429
+ name: "Zeko AlphaNet",
430
+ faucet: ""
431
+ };
422
432
  var Lightnet = {
423
433
  mina: ["http://localhost:8080/graphql"],
424
434
  archive: ["http://localhost:8282"],
@@ -450,7 +460,7 @@ function getDeployer() {
450
460
  return void 0;
451
461
  return currentNetwork.keys[0];
452
462
  }
453
- async function initBlockchain(instance, deployersNumber = 0, proofsEnabled = true) {
463
+ async function initBlockchain(instance, deployersNumber = 0, proofsEnabled = true, customMinaNodeUrl = void 0, customMinaArchiveNodeUrl = void 0) {
454
464
  if (currentNetwork !== void 0) {
455
465
  if (currentNetwork?.network.chainId === instance) {
456
466
  return currentNetwork;
@@ -478,8 +488,8 @@ async function initBlockchain(instance, deployersNumber = 0, proofsEnabled = tru
478
488
  throw new Error("Unknown network");
479
489
  }
480
490
  const networkInstance = import_o1js5.Mina.Network({
481
- mina: process.env.MINA_NODE_URL ?? process.env.NEXT_PUBLIC_MINA_NODE_URL ?? network.mina,
482
- archive: process.env.MINA_ARCHIVE_NODE_URL ?? process.env.NEXT_PUBLIC_MINA_ARCHIVE_NODE_URL ?? network.archive,
491
+ mina: process.env.MINA_NODE_URL ?? process.env.NEXT_PUBLIC_MINA_NODE_URL ?? customMinaNodeUrl ?? network.mina,
492
+ archive: process.env.MINA_ARCHIVE_NODE_URL ?? process.env.NEXT_PUBLIC_MINA_ARCHIVE_NODE_URL ?? customMinaArchiveNodeUrl ?? network.archive,
483
493
  lightnetAccountManager: network.accountManager,
484
494
  networkId: instance === "mainnet" ? "mainnet" : "testnet",
485
495
  bypassTransactionLimits: instance === "zeko"
@@ -13777,6 +13787,7 @@ function update(oldTableCommitment, oldStructDigest, newStructDigest, index) {
13777
13787
  WITNESSES2,
13778
13788
  Witness,
13779
13789
  Zeko,
13790
+ ZekoAlphaNet,
13780
13791
  accountBalance,
13781
13792
  accountBalanceMina,
13782
13793
  accountExists,
@@ -1,8 +1,8 @@
1
- export { blockchain, MinaNetwork, networks, Mainnet, Devnet, Zeko, Lightnet, Local, };
1
+ export { blockchain, MinaNetwork, networks, Mainnet, Devnet, Zeko, ZekoAlphaNet, Lightnet, Local, };
2
2
  /**
3
3
  * blockchain is the type for the chain ID.
4
4
  */
5
- type blockchain = "local" | "devnet" | "lightnet" | "mainnet" | "zeko";
5
+ type blockchain = "local" | "devnet" | "lightnet" | "mainnet" | "zeko" | "zeko:alphanet";
6
6
  /**
7
7
  * MinaNetwork is the data structure for a Mina network, keeping track of the Mina and archive endpoints, chain ID, name, account manager, explorer account URL, explorer transaction URL, and faucet.
8
8
  */
@@ -28,5 +28,6 @@ declare const Mainnet: MinaNetwork;
28
28
  declare const Local: MinaNetwork;
29
29
  declare const Devnet: MinaNetwork;
30
30
  declare const Zeko: MinaNetwork;
31
+ declare const ZekoAlphaNet: MinaNetwork;
31
32
  declare const Lightnet: MinaNetwork;
32
33
  declare const networks: MinaNetwork[];
@@ -1,4 +1,4 @@
1
- export { networks, Mainnet, Devnet, Zeko, Lightnet, Local, };
1
+ export { networks, Mainnet, Devnet, Zeko, ZekoAlphaNet, Lightnet, Local, };
2
2
  const Mainnet = {
3
3
  mina: [
4
4
  //"https://proxy.devnet.minaexplorer.com/graphql",
@@ -42,15 +42,15 @@ const Zeko = {
42
42
  name: "Zeko",
43
43
  faucet: "https://zeko.io/faucet",
44
44
  };
45
- // const Zeko: MinaNetwork = {
46
- // mina: ["http://m1.zeko.io/graphql"],
47
- // archive: ["http://m1.zeko.io/graphql"],
48
- // explorerAccountUrl: "https://zekoscan.io/devnet/account/",
49
- // explorerTransactionUrl: "https://zekoscan.io/devnet/tx/",
50
- // chainId: "zeko",
51
- // name: "Zeko",
52
- // faucet: "https://zeko.io/faucet",
53
- // };
45
+ const ZekoAlphaNet = {
46
+ mina: ["http://m1.zeko.io/graphql"],
47
+ archive: ["http://m1.zeko.io/graphql"],
48
+ explorerAccountUrl: "",
49
+ explorerTransactionUrl: "",
50
+ chainId: "zeko:alphanet",
51
+ name: "Zeko AlphaNet",
52
+ faucet: "",
53
+ };
54
54
  const Lightnet = {
55
55
  mina: ["http://localhost:8080/graphql"],
56
56
  archive: ["http://localhost:8282"],
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,CAAC;AAoCF,MAAM,OAAO,GAAgB;IAC3B,IAAI,EAAE;QACJ,kDAAkD;QAClD,iDAAiD;KAClD;IACD,OAAO,EAAE;QACP,oDAAoD;QACpD,4CAA4C;KAC7C;IACD,kBAAkB,EAAE,sCAAsC;IAC1D,sBAAsB,EAAE,iCAAiC;IACzD,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,KAAK,GAAgB;IACzB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,MAAM,GAAgB;IAC1B,IAAI,EAAE;QACJ,gDAAgD;QAChD,kDAAkD;KACnD;IACD,OAAO,EAAE;QACP,mDAAmD;QACnD,4CAA4C;KAC7C;IACD,kBAAkB,EAAE,qCAAqC;IACzD,sBAAsB,EAAE,gCAAgC;IACxD,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,iCAAiC;CAC1C,CAAC;AAEF,MAAM,IAAI,GAAgB;IACxB,IAAI,EAAE,CAAC,gCAAgC,CAAC;IACxC,OAAO,EAAE,CAAC,gCAAgC,CAAC;IAC3C,kBAAkB,EAAE,qCAAqC;IACzD,sBAAsB,EAAE,gCAAgC;IACxD,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,wBAAwB;CACjC,CAAC;AAEF,8BAA8B;AAC9B,yCAAyC;AACzC,4CAA4C;AAC5C,+DAA+D;AAC/D,8DAA8D;AAC9D,qBAAqB;AACrB,kBAAkB;AAClB,sCAAsC;AACtC,KAAK;AAEL,MAAM,QAAQ,GAAgB;IAC5B,IAAI,EAAE,CAAC,+BAA+B,CAAC;IACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;IAClC,cAAc,EAAE,uBAAuB;IACvC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,QAAQ,GAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BE"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,KAAK,GACN,CAAC;AA0CF,MAAM,OAAO,GAAgB;IAC3B,IAAI,EAAE;QACJ,kDAAkD;QAClD,iDAAiD;KAClD;IACD,OAAO,EAAE;QACP,oDAAoD;QACpD,4CAA4C;KAC7C;IACD,kBAAkB,EAAE,sCAAsC;IAC1D,sBAAsB,EAAE,iCAAiC;IACzD,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,KAAK,GAAgB;IACzB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,MAAM,GAAgB;IAC1B,IAAI,EAAE;QACJ,gDAAgD;QAChD,kDAAkD;KACnD;IACD,OAAO,EAAE;QACP,mDAAmD;QACnD,4CAA4C;KAC7C;IACD,kBAAkB,EAAE,qCAAqC;IACzD,sBAAsB,EAAE,gCAAgC;IACxD,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,iCAAiC;CAC1C,CAAC;AAEF,MAAM,IAAI,GAAgB;IACxB,IAAI,EAAE,CAAC,gCAAgC,CAAC;IACxC,OAAO,EAAE,CAAC,gCAAgC,CAAC;IAC3C,kBAAkB,EAAE,qCAAqC;IACzD,sBAAsB,EAAE,gCAAgC;IACxD,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,wBAAwB;CACjC,CAAC;AAEF,MAAM,YAAY,GAAgB;IAChC,IAAI,EAAE,CAAC,2BAA2B,CAAC;IACnC,OAAO,EAAE,CAAC,2BAA2B,CAAC;IACtC,kBAAkB,EAAE,EAAE;IACtB,sBAAsB,EAAE,EAAE;IAC1B,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,IAAI,EAAE,CAAC,+BAA+B,CAAC;IACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;IAClC,cAAc,EAAE,uBAAuB;IACvC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,QAAQ,GAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BE"}
@@ -24,7 +24,7 @@ declare function getDeployer(): Mina.TestPublicKey | undefined;
24
24
  * @param deployersNumber the number of deployers to use for the network (only for local and lightnet networks)
25
25
  * @returns the Mina network instance
26
26
  */
27
- declare function initBlockchain(instance: blockchain, deployersNumber?: number, proofsEnabled?: boolean): Promise<MinaNetworkInstance>;
27
+ declare function initBlockchain(instance: blockchain, deployersNumber?: number, proofsEnabled?: boolean, customMinaNodeUrl?: string | undefined, customMinaArchiveNodeUrl?: string | undefined): Promise<MinaNetworkInstance>;
28
28
  /**
29
29
  * Fetches the account balance for a given public key
30
30
  * @param address the public key
@@ -30,7 +30,7 @@ function getDeployer() {
30
30
  * @param deployersNumber the number of deployers to use for the network (only for local and lightnet networks)
31
31
  * @returns the Mina network instance
32
32
  */
33
- async function initBlockchain(instance, deployersNumber = 0, proofsEnabled = true) {
33
+ async function initBlockchain(instance, deployersNumber = 0, proofsEnabled = true, customMinaNodeUrl = undefined, customMinaArchiveNodeUrl = undefined) {
34
34
  /*
35
35
  if (instance === "mainnet") {
36
36
  throw new Error("Mainnet is not supported yet by zkApps");
@@ -67,9 +67,11 @@ async function initBlockchain(instance, deployersNumber = 0, proofsEnabled = tru
67
67
  const networkInstance = Mina.Network({
68
68
  mina: process.env.MINA_NODE_URL ??
69
69
  process.env.NEXT_PUBLIC_MINA_NODE_URL ??
70
+ customMinaNodeUrl ??
70
71
  network.mina,
71
72
  archive: process.env.MINA_ARCHIVE_NODE_URL ??
72
73
  process.env.NEXT_PUBLIC_MINA_ARCHIVE_NODE_URL ??
74
+ customMinaArchiveNodeUrl ??
73
75
  network.archive,
74
76
  lightnetAccountManager: network.accountManager,
75
77
  networkId: instance === "mainnet" ? "mainnet" : "testnet",
@@ -1 +1 @@
1
- {"version":3,"file":"mina.js","sourceRoot":"","sources":["../../../src/utils/mina.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mina.js","sourceRoot":"","sources":["../../../src/utils/mina.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,EAElB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,CAAC;AAEF,OAAO,EACL,IAAI,EAEJ,UAAU,EACV,MAAM,EACN,YAAY,EAEZ,QAAQ,EACR,aAAa,GACd,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,QAAQ,EAA2B,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAgB1E,IAAI,cAAc,GAAoC,SAAS,CAAC;AAEhE,SAAS,gBAAgB;IACvB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,cAAc,CAAC,aAAa,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAC3B,QAAoB,EACpB,kBAA0B,CAAC,EAC3B,gBAAyB,IAAI,EAC7B,oBAAwC,SAAS,EACjD,2BAA+C,SAAS;IAExD;;;;MAIE;IACF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,cAAc,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjD,OAAO,cAAc,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,qDAAqD,cAAc,CAAC,OAAO,CAAC,OAAO,0BAA0B,QAAQ,EAAE,CACxH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhE,4DAA4D;IAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACvC,aAAa;SACd,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM;YAC7C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,cAAc,GAAG;YACf,IAAI,EAAE,KAAK,CAAC,YAAY;YACxB,OAAO,EAAE,KAAK;YACd,aAAa;SACd,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,EACF,OAAO,CAAC,GAAG,CAAC,aAAa;YACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB;YACrC,iBAAiB;YACjB,OAAO,CAAC,IAAI;QACd,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,qBAAqB;YACjC,OAAO,CAAC,GAAG,CAAC,iCAAiC;YAC7C,wBAAwB;YACxB,OAAO,CAAC,OAAO;QACjB,sBAAsB,EAAE,OAAO,CAAC,cAAc;QAC9C,SAAS,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACzD,uBAAuB,EAAE,QAAQ,KAAK,MAAM;KAC7C,CAAC,CAAC;IACH,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAExC,MAAM,IAAI,GAAyB,EAAE,CAAC;IAEtC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YACxC,IACE,SAAS,KAAK,SAAS;gBACvB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK;gBAClC,SAAS,CAAC,MAAM,GAAG,eAAe;gBAElC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,GAAG;QACf,IAAI;QACJ,OAAO;QACP,aAAa;KACd,CAAC;IACF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,OAAkB;IAC9C,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAkB;IAClD,OAAO,MAAM,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC"}