@interest-protocol/vortex-sdk 0.0.1-alpha.0 → 1.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 (121) hide show
  1. package/.eslingignore +1 -0
  2. package/dist/__tests__/entities/keypair.spec.d.ts +2 -0
  3. package/dist/__tests__/entities/keypair.spec.d.ts.map +1 -0
  4. package/dist/__tests__/test-utils.d.ts +25 -0
  5. package/dist/__tests__/test-utils.d.ts.map +1 -0
  6. package/dist/__tests__/types.d.ts +3 -0
  7. package/dist/__tests__/types.d.ts.map +1 -0
  8. package/dist/__tests__/vortex.test.d.ts +2 -0
  9. package/dist/__tests__/vortex.test.d.ts.map +1 -0
  10. package/dist/constants.d.ts +44 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/crypto/ff/f1field.d.ts +76 -0
  13. package/dist/crypto/ff/f1field.d.ts.map +1 -0
  14. package/dist/crypto/ff/index.d.ts +6 -0
  15. package/dist/crypto/ff/index.d.ts.map +1 -0
  16. package/dist/crypto/ff/random.d.ts +2 -0
  17. package/dist/crypto/ff/random.d.ts.map +1 -0
  18. package/dist/crypto/ff/scalar.d.ts +45 -0
  19. package/dist/crypto/ff/scalar.d.ts.map +1 -0
  20. package/dist/crypto/ff/utils.d.ts +6 -0
  21. package/dist/crypto/ff/utils.d.ts.map +1 -0
  22. package/dist/crypto/index.d.ts +6 -0
  23. package/dist/crypto/index.d.ts.map +1 -0
  24. package/dist/crypto/poseidon/index.d.ts +2 -0
  25. package/dist/crypto/poseidon/index.d.ts.map +1 -0
  26. package/dist/crypto/poseidon/poseidon-constants-opt.d.ts +7 -0
  27. package/dist/crypto/poseidon/poseidon-constants-opt.d.ts.map +1 -0
  28. package/dist/crypto/poseidon/poseidon-opt.d.ts +16 -0
  29. package/dist/crypto/poseidon/poseidon-opt.d.ts.map +1 -0
  30. package/dist/deposit.d.ts +4 -0
  31. package/dist/deposit.d.ts.map +1 -0
  32. package/dist/entities/index.d.ts +4 -0
  33. package/dist/entities/index.d.ts.map +1 -0
  34. package/dist/entities/keypair.d.ts +29 -0
  35. package/dist/entities/keypair.d.ts.map +1 -0
  36. package/dist/entities/merkle-tree.d.ts +81 -0
  37. package/dist/entities/merkle-tree.d.ts.map +1 -0
  38. package/dist/entities/utxo.d.ts +24 -0
  39. package/dist/entities/utxo.d.ts.map +1 -0
  40. package/dist/index.d.ts +6 -2
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +38280 -4459
  43. package/dist/index.js.map +1 -1
  44. package/dist/index.mjs +38244 -4453
  45. package/dist/index.mjs.map +1 -1
  46. package/dist/jest-setup.d.ts +2 -0
  47. package/dist/jest-setup.d.ts.map +1 -0
  48. package/dist/keys/index.d.ts +3 -0
  49. package/dist/keys/index.d.ts.map +1 -0
  50. package/dist/pkg/nodejs/vortex.d.ts +11 -0
  51. package/dist/pkg/nodejs/vortex.d.ts.map +1 -0
  52. package/dist/pkg/web/vortex.d.ts +44 -0
  53. package/dist/pkg/web/vortex.d.ts.map +1 -0
  54. package/dist/utils/decrypt.d.ts +12 -0
  55. package/dist/utils/decrypt.d.ts.map +1 -0
  56. package/dist/utils/env.d.ts +2 -0
  57. package/dist/utils/env.d.ts.map +1 -0
  58. package/dist/utils/events.d.ts +7 -0
  59. package/dist/utils/events.d.ts.map +1 -0
  60. package/dist/utils/ext-data.d.ts +3 -0
  61. package/dist/utils/ext-data.d.ts.map +1 -0
  62. package/dist/utils/index.d.ts +50 -0
  63. package/dist/utils/index.d.ts.map +1 -0
  64. package/dist/utils/prove.d.ts +3 -0
  65. package/dist/utils/prove.d.ts.map +1 -0
  66. package/dist/vortex.d.ts +51 -21
  67. package/dist/vortex.d.ts.map +1 -1
  68. package/dist/vortex.types.d.ts +74 -50
  69. package/dist/vortex.types.d.ts.map +1 -1
  70. package/dist/vortex_bg.wasm +0 -0
  71. package/dist/withdraw.d.ts +4 -0
  72. package/dist/withdraw.d.ts.map +1 -0
  73. package/jest.config.js +31 -0
  74. package/package.json +22 -7
  75. package/src/__tests__/entities/keypair.spec.ts +191 -0
  76. package/src/__tests__/test-utils.ts +76 -0
  77. package/src/__tests__/types.ts +3 -0
  78. package/src/__tests__/vortex.test.ts +25 -0
  79. package/src/constants.ts +104 -0
  80. package/src/crypto/ff/f1field.ts +464 -0
  81. package/src/crypto/ff/index.ts +6 -0
  82. package/src/crypto/ff/random.ts +32 -0
  83. package/src/crypto/ff/readme.md +8 -0
  84. package/src/crypto/ff/scalar.ts +264 -0
  85. package/src/crypto/ff/utils.ts +121 -0
  86. package/src/crypto/index.ts +8 -0
  87. package/src/crypto/poseidon/index.ts +1 -0
  88. package/src/crypto/poseidon/poseidon-constants-opt.ts +24806 -0
  89. package/src/crypto/poseidon/poseidon-opt.ts +184 -0
  90. package/src/deposit.ts +168 -0
  91. package/src/entities/index.ts +3 -0
  92. package/src/entities/keypair.ts +262 -0
  93. package/src/entities/merkle-tree.ts +256 -0
  94. package/src/entities/utxo.ts +52 -0
  95. package/src/index.ts +6 -2
  96. package/src/jest-setup.ts +2 -0
  97. package/src/keys/index.ts +5 -0
  98. package/src/pkg/nodejs/vortex.d.ts +36 -0
  99. package/src/pkg/nodejs/vortex.js +332 -0
  100. package/src/pkg/nodejs/vortex_bg.wasm +0 -0
  101. package/src/pkg/nodejs/vortex_bg.wasm.d.ts +12 -0
  102. package/src/pkg/web/vortex.d.ts +72 -0
  103. package/src/pkg/web/vortex.js +442 -0
  104. package/src/pkg/web/vortex_bg.wasm +0 -0
  105. package/src/pkg/web/vortex_bg.wasm.d.ts +12 -0
  106. package/src/utils/decrypt.ts +46 -0
  107. package/src/utils/env.ts +18 -0
  108. package/src/utils/events.ts +16 -0
  109. package/src/utils/ext-data.ts +43 -0
  110. package/src/utils/index.ts +152 -0
  111. package/src/utils/prove.ts +18 -0
  112. package/src/vortex.ts +235 -111
  113. package/src/vortex.types.ts +74 -54
  114. package/src/withdraw.ts +159 -0
  115. package/tsconfig.json +4 -2
  116. package/dist/admin.d.ts +0 -17
  117. package/dist/admin.d.ts.map +0 -1
  118. package/dist/utils.d.ts +0 -11
  119. package/dist/utils.d.ts.map +0 -1
  120. package/src/admin.ts +0 -124
  121. package/src/utils.ts +0 -66
package/.eslingignore ADDED
@@ -0,0 +1 @@
1
+ ./prover/**.js
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keypair.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keypair.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/entities/keypair.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { SuiClient } from '@mysten/sui/client';
2
+ import { Transaction, TransactionArgument } from '@mysten/sui/transactions';
3
+ import { Vortex } from '../vortex';
4
+ export declare const devnetSuiClient: SuiClient;
5
+ export declare const TEST_VORTEX_PACKAGE_ID = "0xe5c3cc57317735311a9e054fa3d59c625d6e530ab9b9499409c4a7157fbfbaba";
6
+ export declare const TEST_VORTEX_SHARED_OBJECT_ID = "0x9751819ded69b113eea0ca81b4fcb95be8a07b166a88858ce58057417b5713d3";
7
+ export declare const TEST_REGISTRY_SHARED_OBJECT_ID = "0x86b4429f15c699d4a225474be82490f1165c1123228dcfedc6966c245b840ac2";
8
+ export declare const TEST_UPGRADE_CAP_ID = "0xb76878578f39017a04a892e7250a146c13663282de80876fae7d62fb5b073f4b";
9
+ export declare const TEST_REGISTRY_INITIAL_SHARED_VERSION = "8";
10
+ export declare const TEST_VORTEX_INITIAL_SHARED_VERSION = "8";
11
+ interface ExpectDevInspectTransactionBlockArgs {
12
+ tx: Transaction;
13
+ sender: string;
14
+ expectStatus: 'success' | 'failure';
15
+ }
16
+ export declare const expectDevInspectTransactionBlock: ({ tx, sender, expectStatus, }: ExpectDevInspectTransactionBlockArgs) => Promise<void>;
17
+ export declare const testVortex: Vortex;
18
+ interface AssertValueArgs {
19
+ tx: Transaction;
20
+ typeArguments: string[];
21
+ args: TransactionArgument[];
22
+ }
23
+ export declare const assertValueMoveCall: ({ tx, typeArguments, args, }: AssertValueArgs) => void;
24
+ export {};
25
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/__tests__/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,eAAO,MAAM,eAAe,WAE1B,CAAC;AAEH,eAAO,MAAM,sBAAsB,uEACmC,CAAC;AAEvE,eAAO,MAAM,4BAA4B,uEAC6B,CAAC;AAEvE,eAAO,MAAM,8BAA8B,uEAC2B,CAAC;AAEvE,eAAO,MAAM,mBAAmB,uEACsC,CAAC;AAEvE,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAExD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD,UAAU,oCAAoC;IAC5C,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC;AAED,eAAO,MAAM,gCAAgC,GAAU,+BAIpD,oCAAoC,kBAUtC,CAAC;AAEF,eAAO,MAAM,UAAU,QAUrB,CAAC;AAEH,UAAU,eAAe;IACvB,EAAE,EAAE,WAAW,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,mBAAmB,GAAI,8BAIjC,eAAe,SAMjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const STRING_TYPE_ARGUMENT = "0x1::string::String";
2
+ export declare const OPTION_STRING_TYPE_ARGUMENT = "0x1::option::Option<0x1::string::String>";
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/__tests__/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,eAAO,MAAM,2BAA2B,6CAAiD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vortex.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vortex.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/vortex.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ export declare const BN254_FIELD_MODULUS = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
2
+ export declare const ZERO_VALUE = 18688842432741139442778047327644092677418528270738216181718229581494125774932n;
3
+ export declare const EMPTY_COMMITMENT = 18688842432741139442778047327644092677418528270738216181718229581494125774932n;
4
+ export declare enum Output {
5
+ HasCommitments = 0,
6
+ NoCommitments = 1
7
+ }
8
+ export declare const EMPTY_SUBTREE_HASHES: bigint[];
9
+ export declare enum Modules {
10
+ ExtData = "vortex_ext_data",
11
+ Proof = "vortex_proof",
12
+ Vortex = "vortex"
13
+ }
14
+ export declare const ROOT_HISTORY_SIZE = 100;
15
+ export declare const MERKLE_TREE_HEIGHT = 26;
16
+ export declare const ERROR_CODES: {
17
+ 0: string;
18
+ 1: string;
19
+ 2: string;
20
+ 3: string;
21
+ 4: string;
22
+ 5: string;
23
+ 6: string;
24
+ 7: string;
25
+ 8: string;
26
+ 9: string;
27
+ 10: string;
28
+ 11: string;
29
+ 12: string;
30
+ 13: string;
31
+ 14: string;
32
+ };
33
+ export declare const VORTEX_PACKAGE_ID = "0x178934e5693d18a8fe9106c5590bb034c717035a94fda19472ca6d989c29f4b3";
34
+ export declare const UPGRADE_CAP = "0x20aa94b46c4297aa07fb5789bc0350a32433933cb47a5392727b6eff73dc3f95";
35
+ export declare const VORTEX_POOL_OBJECT_ID = "0x3a928257e6842ee56607c010162767e081a2756abd9ae4b039ce7c487db49c9f";
36
+ export declare const REGISTRY_OBJECT_ID = "0x55b4b0d3e837937de4438fa70470da9fea8d72627458d68c1195a91b2769867f";
37
+ export declare const INITIAL_SHARED_VERSION = "4";
38
+ export declare const LSK_FETCH_OFFSET = "fetch_offset";
39
+ export declare const LSK_ENCRYPTED_OUTPUTS = "encrypted_outputs";
40
+ export declare const VORTEX_SIGNATURE_DOMAIN = "VORTEXFI.XYZ";
41
+ export declare const TREASURY_ADDRESS = "0x894261575b948c035d002adc3ca4d73c683c01a1bfafac183870940bf9afef1a";
42
+ export declare const DEPOSIT_FEE_IN_BASIS_POINTS = 50n;
43
+ export declare const BASIS_POINTS = 10000n;
44
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,iFACgD,CAAC;AAGjF,eAAO,MAAM,UAAU,iFACyD,CAAC;AAEjF,eAAO,MAAM,gBAAgB,iFAAa,CAAC;AAE3C,oBAAY,MAAM;IAChB,cAAc,IAAA;IACd,aAAa,IAAA;CACd;AAED,eAAO,MAAM,oBAAoB,UAiChC,CAAC;AAEF,oBAAY,OAAO;IACjB,OAAO,oBAAoB;IAC3B,KAAK,iBAAiB;IACtB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAgBvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,uEACwC,CAAC;AAEvE,eAAO,MAAM,WAAW,uEAC8C,CAAC;AAEvE,eAAO,MAAM,qBAAqB,uEACoC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,uEACuC,CAAC;AAEvE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAEtD,eAAO,MAAM,gBAAgB,uEACyC,CAAC;AAGvE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,eAAO,MAAM,YAAY,SAAU,CAAC"}
@@ -0,0 +1,76 @@
1
+ export declare class F1Field {
2
+ type: string;
3
+ one: bigint;
4
+ zero: bigint;
5
+ p: bigint;
6
+ m: bigint;
7
+ negOne: bigint;
8
+ two: bigint;
9
+ half: bigint;
10
+ bitLength: number;
11
+ mask: bigint;
12
+ n64: number;
13
+ n32: number;
14
+ n8: number;
15
+ R: bigint;
16
+ s: number;
17
+ shift: bigint;
18
+ Ri: bigint;
19
+ nqr: bigint;
20
+ t: bigint;
21
+ nqr_to_t: bigint;
22
+ k: bigint;
23
+ constructor(p: bigint);
24
+ e(a: string | bigint, b?: bigint | undefined): bigint;
25
+ add(a: bigint, b: bigint): bigint;
26
+ sub(a: bigint, b: bigint): bigint;
27
+ neg(a: bigint): bigint;
28
+ double(a: bigint): bigint;
29
+ mul(a: bigint, b: bigint): bigint;
30
+ mulScalar(base: bigint, s: bigint): bigint;
31
+ square(a: bigint): bigint;
32
+ eq(a: bigint, b: bigint): boolean;
33
+ neq(a: bigint, b: bigint): boolean;
34
+ lt(a: bigint, b: bigint): boolean;
35
+ gt(a: bigint, b: bigint): boolean;
36
+ leq(a: bigint, b: bigint): boolean;
37
+ geq(a: bigint, b: bigint): boolean;
38
+ div(a: bigint, b: bigint): bigint;
39
+ iDiv(a: bigint, b: bigint): bigint;
40
+ inv(a: bigint): bigint;
41
+ mod(a: bigint, b: bigint): bigint;
42
+ pow(b: bigint, e: bigint): bigint;
43
+ exp(b: bigint, e: bigint): bigint;
44
+ band(a: bigint, b: bigint): bigint;
45
+ bor(a: bigint, b: bigint): bigint;
46
+ bXor(a: bigint, b: bigint): bigint;
47
+ bNot(a: bigint): bigint;
48
+ shl(a: bigint, b: bigint): bigint;
49
+ shr(a: bigint, b: bigint): bigint;
50
+ land(a: bigint, b: bigint): bigint;
51
+ lor(a: bigint, b: bigint): bigint;
52
+ sqrt_old(n: bigint): bigint | null;
53
+ normalize(a: bigint): bigint;
54
+ random(): bigint;
55
+ toString(a: bigint, base?: number): string;
56
+ isZero(a: bigint): boolean;
57
+ toRprLE(buff: Uint8Array, o: number, e: bigint): void;
58
+ toRprBE(buff: Uint8Array, o: number, e: bigint): void;
59
+ toRprBEM(buff: Uint8Array, o: number, e: bigint): void;
60
+ toRprLEM(buff: Uint8Array, o: number, e: bigint): void;
61
+ fromRprLE(buff: Uint8Array, o: number): bigint;
62
+ fromRprBE(buff: Uint8Array, o: number): bigint;
63
+ fromRprLEM(buff: Uint8Array, o: number): bigint;
64
+ fromRprBEM(buff: Uint8Array, o: number): bigint;
65
+ toObject(a: bigint): bigint;
66
+ sqrt(a: bigint): bigint | null;
67
+ sqrt_e1: bigint;
68
+ sqrt_q: bigint;
69
+ sqrt_s: bigint;
70
+ sqrt_t: bigint;
71
+ sqrt_z: bigint;
72
+ sqrt_tm1d2: bigint;
73
+ }
74
+ export declare function mulScalar(F: F1Field, base: bigint, e: bigint): bigint;
75
+ export declare function exp(F: F1Field, base: bigint, e: bigint): bigint;
76
+ //# sourceMappingURL=f1field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"f1field.d.ts","sourceRoot":"","sources":["../../../src/crypto/ff/f1field.ts"],"names":[],"mappings":"AAGA,qBAAa,OAAO;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;gBAEE,CAAC,EAAE,MAAM;IA2CrB,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAE,MAAM,GAAG,SAAqB,GAAG,MAAM;IAgBhE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAItB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAIjC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAIjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAMjC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAMjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAMlC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAMlC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKlC,GAAG,CAAC,CAAC,EAAE,MAAM;IAgBb,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKlC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKjC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKlC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKvB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAcjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAcjC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIlC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqClC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAU5B,MAAM,IAAI,MAAM;IAShB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAY7B,MAAM,CAAC,CAAC,EAAE,MAAM;IAKhB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK9C,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK9C,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAI/C,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK/C,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM;IAKrC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM;IAIrC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM;IAItC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM;IAItC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3B,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9B,OAAO,EAAG,MAAM,CAAC;IACjB,MAAM,EAAG,MAAM,CAAC;IAChB,MAAM,EAAG,MAAM,CAAC;IAChB,MAAM,EAAG,MAAM,CAAC;IAChB,MAAM,EAAG,MAAM,CAAC;IAChB,UAAU,EAAG,MAAM,CAAC;CACrB;AAuDD,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BrE;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAkBtD"}
@@ -0,0 +1,6 @@
1
+ import * as utils from './utils';
2
+ import * as Scalar from './scalar';
3
+ import { F1Field } from './f1field';
4
+ import { getRandomBytes } from './random';
5
+ export { utils, Scalar, F1Field, getRandomBytes };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/ff/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getRandomBytes(length: number): Uint8Array;
2
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/crypto/ff/random.ts"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAqBzD"}
@@ -0,0 +1,45 @@
1
+ export declare const fromString: (s: string, radix?: number) => bigint;
2
+ export declare const e: (s: string, radix?: number) => bigint;
3
+ export declare const fromArray: (a: Uint8Array, r: number) => bigint;
4
+ export declare const bitLength: (a: bigint) => number;
5
+ export declare const isNegative: (a: bigint) => boolean;
6
+ export declare const isZero: (a: bigint) => boolean;
7
+ export declare const shiftLeft: (a: bigint, n: bigint) => bigint;
8
+ export declare const shiftRight: (a: bigint, n: bigint) => bigint;
9
+ export declare const shl: (a: bigint, n: bigint) => bigint;
10
+ export declare const shr: (a: bigint, n: bigint) => bigint;
11
+ export declare const isOdd: (a: bigint) => boolean;
12
+ export declare const naf: (n: bigint) => number[];
13
+ export declare const bits: (n: bigint) => number[];
14
+ export declare const toNumber: (s: bigint) => number;
15
+ export declare const toArray: (s: bigint, r: bigint) => number[];
16
+ export declare const add: (a: bigint, b: bigint) => bigint;
17
+ export declare const sub: (a: bigint, b: bigint) => bigint;
18
+ export declare const neg: (a: bigint) => bigint;
19
+ export declare const mul: (a: bigint, b: bigint) => bigint;
20
+ export declare const square: (a: bigint) => bigint;
21
+ export declare const pow: (a: bigint, b: bigint) => bigint;
22
+ export declare const exp: (a: bigint, b: bigint) => bigint;
23
+ export declare const abs: (a: bigint) => bigint;
24
+ export declare const div: (a: bigint, b: bigint) => bigint;
25
+ export declare const mod: (a: bigint, b: bigint) => bigint;
26
+ export declare const eq: (a: bigint, b: bigint) => boolean;
27
+ export declare const neq: (a: bigint, b: bigint) => boolean;
28
+ export declare const lt: (a: bigint, b: bigint) => boolean;
29
+ export declare const gt: (a: bigint, b: bigint) => boolean;
30
+ export declare const leq: (a: bigint, b: bigint) => boolean;
31
+ export declare const geq: (a: bigint, b: bigint) => boolean;
32
+ export declare const band: (a: bigint, b: bigint) => bigint;
33
+ export declare const bor: (a: bigint, b: bigint) => bigint;
34
+ export declare const bXor: (a: bigint, b: bigint) => bigint;
35
+ export declare const land: (a: bigint, b: bigint) => bigint;
36
+ export declare const lor: (a: bigint, b: bigint) => bigint;
37
+ export declare const toRprLE: (buff: Uint8Array, o: number, e: bigint, n8: number) => void;
38
+ export declare const toRprBE: (buff: Uint8Array, o: number, e: bigint, n8: number) => void;
39
+ export declare const fromRprLE: (buff: Uint8Array, o: number, n8?: number) => bigint;
40
+ export declare const fromRprBE: (buff: Uint8Array, o: number, n8: number) => bigint;
41
+ export declare const toString: (a: bigint, radix?: number) => string;
42
+ export declare const toLEBuff: (a: bigint) => Uint8Array;
43
+ export declare const zero: bigint;
44
+ export declare const one: bigint;
45
+ //# sourceMappingURL=scalar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../../src/crypto/ff/scalar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function unStringifyBigInts(o: unknown): unknown;
2
+ export declare function beBuff2int(buff: Uint8Array): bigint;
3
+ export declare function beInt2Buff(n: bigint, len: number): Uint8Array<ArrayBuffer>;
4
+ export declare function leBuff2int(buff: Uint8Array): bigint;
5
+ export declare function leInt2Buff(n: bigint, len: number): Uint8Array<ArrayBuffer>;
6
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/ff/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAoBtD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,UAqB1C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,2BAwBhD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,UAiB1C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,2BA4BhD"}
@@ -0,0 +1,6 @@
1
+ import { OPT } from './poseidon';
2
+ export declare const poseidon1: (x: bigint) => bigint;
3
+ export declare const poseidon2: (x: bigint, y: bigint) => bigint;
4
+ export declare const poseidon3: (x: bigint, y: bigint, z: bigint) => bigint;
5
+ export { OPT };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,WAAuB,CAAC;AAC3D,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAA0B,CAAC;AACzE,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WAC/B,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './poseidon-opt';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const CONSTANTS: {
2
+ C: string[][];
3
+ M: string[][][];
4
+ P: string[][][];
5
+ S: string[][];
6
+ };
7
+ //# sourceMappingURL=poseidon-constants-opt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poseidon-constants-opt.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/poseidon-constants-opt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;CAquwBrB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { F1Field } from '../ff';
2
+ export declare const OPT: {
3
+ C: bigint[][];
4
+ S: bigint[][];
5
+ M: bigint[][][];
6
+ P: bigint[][][];
7
+ };
8
+ export declare class Poseidon {
9
+ static F: F1Field;
10
+ static hash(inputs: bigint[]): bigint;
11
+ static hashBytes(msg: Uint8Array): bigint;
12
+ static hashBytesX(msg: Uint8Array, frameSize: number): bigint;
13
+ static spongeHashX(inputs: bigint[], frameSize: number): bigint;
14
+ }
15
+ export declare const poseidon: typeof Poseidon;
16
+ //# sourceMappingURL=poseidon-opt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poseidon-opt.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/poseidon-opt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,OAAO,CAAC;AAG/C,eAAO,MAAM,GAAG,EAA0C;IACxD,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;CACjB,CAAC;AAiBF,qBAAa,QAAQ;IACnB,MAAM,CAAC,CAAC,UAAK;IAEb,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;IAkErC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAKzC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IA8C7D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAqChE;AACD,eAAO,MAAM,QAAQ,iBAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Transaction } from '@mysten/sui/transactions';
2
+ import { DepositArgs } from './vortex.types';
3
+ export declare const deposit: ({ tx, amount, unspentUtxos, vortex, vortexKeypair, merkleTree, }: DepositArgs) => Promise<Transaction>;
4
+ //# sourceMappingURL=deposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../src/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAcvD,OAAO,EAAiB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG5D,eAAO,MAAM,OAAO,GAAU,kEAO3B,WAAW,yBA+Ib,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './keypair';
2
+ export * from './merkle-tree';
3
+ export * from './utxo';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,29 @@
1
+ export interface UtxoPayload {
2
+ amount: bigint;
3
+ blinding: bigint;
4
+ index: bigint;
5
+ }
6
+ type SignMessageFn = (message: Uint8Array) => Promise<{
7
+ signature: string;
8
+ bytes: string;
9
+ }>;
10
+ export declare class VortexKeypair {
11
+ #private;
12
+ privateKey: bigint;
13
+ publicKey: string;
14
+ encryptionKey: string;
15
+ private x25519PrivateKey;
16
+ constructor(privateKey: bigint);
17
+ static fromSuiPrivateKey(privateKey: string): VortexKeypair;
18
+ static generate(): VortexKeypair;
19
+ static fromString(str: string): VortexKeypair;
20
+ static fromSuiWallet(suiAddress: string, signMessage: SignMessageFn): Promise<VortexKeypair>;
21
+ static encryptFor(bytes: Buffer, recipientEncryptionKey: string): string;
22
+ static encryptUtxoFor(utxo: UtxoPayload, recipientEncryptionKey: string): string;
23
+ decryptUtxo(encryptedData: string): UtxoPayload;
24
+ sign(commitment: bigint, merklePath: bigint): bigint;
25
+ toString(): string;
26
+ address(): string;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=keypair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../src/entities/keypair.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAwCH,qBAAa,aAAa;;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,gBAAgB,CAAoB;gBAEhC,UAAU,EAAE,MAAM;IAgB9B,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAM3D,MAAM,CAAC,QAAQ,IAAI,aAAa;IAUhC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;WAkBhC,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,aAAa,CAAC;IAgBzB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,GAAG,MAAM;IA8BxE,MAAM,CAAC,cAAc,CACnB,IAAI,EAAE,WAAW,EACjB,sBAAsB,EAAE,MAAM,GAC7B,MAAM;IAMT,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW;IAc/C,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAKpD,QAAQ,IAAI,MAAM;IAMlB,OAAO,IAAI,MAAM;CAsDlB"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Sparse Merkle tree using Tornado Cash Nova's paired insertion strategy.
3
+ * Inserts two leaves at once for better efficiency and privacy.
4
+ */
5
+ export declare class MerkleTree {
6
+ levels: number;
7
+ capacity: number;
8
+ zeroElement: bigint;
9
+ private zeros;
10
+ private subtrees;
11
+ private _nextIndex;
12
+ private leaves;
13
+ private _root;
14
+ constructor(levels: number);
15
+ /**
16
+ * Returns the current Merkle root
17
+ */
18
+ root(): bigint;
19
+ /**
20
+ * Insert elements in bulk (must be even number for pairing)
21
+ */
22
+ bulkInsert(elements: bigint[]): void;
23
+ /**
24
+ * Insert a pair of leaves (Nova style)
25
+ * This is the primary insertion method
26
+ */
27
+ insertPair(leaf1: bigint, leaf2: bigint): void;
28
+ /**
29
+ * Insert a single leaf (for backward compatibility)
30
+ * Pairs it with a zero leaf
31
+ */
32
+ insert(leaf: bigint): void;
33
+ /**
34
+ * Generate Merkle path for a leaf at given index
35
+ * Returns sibling hashes and indices for verification
36
+ */
37
+ path(index: number): {
38
+ pathElements: bigint[];
39
+ pathIndices: number[];
40
+ };
41
+ /**
42
+ * Get all leaves in the tree
43
+ */
44
+ elements(): bigint[];
45
+ /**
46
+ * Find the index of a specific leaf
47
+ */
48
+ indexOf(element: bigint, comparator?: Function | null): number;
49
+ /**
50
+ * Serialize tree state
51
+ */
52
+ serialize(): {
53
+ levels: number;
54
+ zeros: bigint[];
55
+ subtrees: bigint[];
56
+ nextIndex: number;
57
+ leaves: bigint[];
58
+ root: bigint;
59
+ };
60
+ /**
61
+ * Verify a Merkle path is valid for a given leaf and root
62
+ */
63
+ verify(leaf: bigint, pathElements: bigint[], pathIndices: number[], root: bigint): boolean;
64
+ /**
65
+ * Get the current number of leaves in the tree
66
+ */
67
+ get nextIndex(): number;
68
+ /**
69
+ * Check if the tree is full
70
+ */
71
+ isFull(): boolean;
72
+ /**
73
+ * Get the maximum capacity of the tree
74
+ */
75
+ getCapacity(): number;
76
+ /**
77
+ * Get the current fill percentage
78
+ */
79
+ getFillPercentage(): number;
80
+ }
81
+ //# sourceMappingURL=merkle-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle-tree.d.ts","sourceRoot":"","sources":["../../src/entities/merkle-tree.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,qBAAa,UAAU;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM;IAyB1B;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE;IAU7B;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAuCvC;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;IAyCtE;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,QAAQ,GAAG,IAAW,GAAG,MAAM;IAOpE;;OAEG;IACH,SAAS;;;;;;;;IAWT;;OAEG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,MAAM,GACX,OAAO;IAwBV;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,iBAAiB,IAAI,MAAM;CAG5B"}
@@ -0,0 +1,24 @@
1
+ import { VortexKeypair } from './keypair';
2
+ interface UtxoConstructorArgs {
3
+ amount: bigint;
4
+ blinding?: bigint;
5
+ keypair?: VortexKeypair;
6
+ index?: bigint;
7
+ }
8
+ export declare class Utxo {
9
+ amount: bigint;
10
+ blinding: bigint;
11
+ keypair: VortexKeypair;
12
+ index: bigint;
13
+ constructor({ amount, blinding, keypair, index }: UtxoConstructorArgs);
14
+ static blinding(): bigint;
15
+ commitment(): bigint;
16
+ nullifier(): bigint;
17
+ payload(): {
18
+ amount: bigint;
19
+ blinding: bigint;
20
+ index: bigint;
21
+ };
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=utxo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/entities/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,IAAI;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;gBAEF,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB;IAOrE,MAAM,CAAC,QAAQ;IAIf,UAAU;IAQV,SAAS;IAST,OAAO;;;;;CAOR"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,9 @@
1
- export * from './utils';
1
+ export * from './constants';
2
2
  export * from './vortex';
3
- export * from './admin';
3
+ export * from './entities';
4
4
  export * from './vortex.types';
5
+ export * from './crypto';
6
+ export * from './utils';
7
+ export * from './deposit';
8
+ export * from './withdraw';
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}