@eva-protocol/sdk 0.0.1-beta.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 (101) hide show
  1. package/dist/src/config/index.d.ts +3 -0
  2. package/dist/src/config/index.d.ts.map +1 -0
  3. package/dist/src/config/index.js +3 -0
  4. package/dist/src/config/index.js.map +1 -0
  5. package/dist/src/config/networks.d.ts +10 -0
  6. package/dist/src/config/networks.d.ts.map +1 -0
  7. package/dist/src/config/networks.js +64 -0
  8. package/dist/src/config/networks.js.map +1 -0
  9. package/dist/src/core/client.d.ts +107 -0
  10. package/dist/src/core/client.d.ts.map +1 -0
  11. package/dist/src/core/client.js +595 -0
  12. package/dist/src/core/client.js.map +1 -0
  13. package/dist/src/core/index.d.ts +2 -0
  14. package/dist/src/core/index.d.ts.map +1 -0
  15. package/dist/src/core/index.js +2 -0
  16. package/dist/src/core/index.js.map +1 -0
  17. package/dist/src/index.d.ts +6 -0
  18. package/dist/src/index.d.ts.map +1 -0
  19. package/dist/src/index.js +6 -0
  20. package/dist/src/index.js.map +1 -0
  21. package/dist/src/modules/capital_pool.d.ts +12 -0
  22. package/dist/src/modules/capital_pool.d.ts.map +1 -0
  23. package/dist/src/modules/capital_pool.js +60 -0
  24. package/dist/src/modules/capital_pool.js.map +1 -0
  25. package/dist/src/modules/claims.d.ts +7 -0
  26. package/dist/src/modules/claims.d.ts.map +1 -0
  27. package/dist/src/modules/claims.js +76 -0
  28. package/dist/src/modules/claims.js.map +1 -0
  29. package/dist/src/modules/claims_query.d.ts +26 -0
  30. package/dist/src/modules/claims_query.d.ts.map +1 -0
  31. package/dist/src/modules/claims_query.js +109 -0
  32. package/dist/src/modules/claims_query.js.map +1 -0
  33. package/dist/src/modules/cover.d.ts +8 -0
  34. package/dist/src/modules/cover.d.ts.map +1 -0
  35. package/dist/src/modules/cover.js +66 -0
  36. package/dist/src/modules/cover.js.map +1 -0
  37. package/dist/src/modules/index.d.ts +8 -0
  38. package/dist/src/modules/index.d.ts.map +1 -0
  39. package/dist/src/modules/index.js +8 -0
  40. package/dist/src/modules/index.js.map +1 -0
  41. package/dist/src/modules/seal.d.ts +18 -0
  42. package/dist/src/modules/seal.d.ts.map +1 -0
  43. package/dist/src/modules/seal.js +110 -0
  44. package/dist/src/modules/seal.js.map +1 -0
  45. package/dist/src/modules/staking_pool.d.ts +6 -0
  46. package/dist/src/modules/staking_pool.d.ts.map +1 -0
  47. package/dist/src/modules/staking_pool.js +50 -0
  48. package/dist/src/modules/staking_pool.js.map +1 -0
  49. package/dist/src/modules/staking_query.d.ts +36 -0
  50. package/dist/src/modules/staking_query.d.ts.map +1 -0
  51. package/dist/src/modules/staking_query.js +41 -0
  52. package/dist/src/modules/staking_query.js.map +1 -0
  53. package/dist/src/modules/walrus.d.ts +42 -0
  54. package/dist/src/modules/walrus.d.ts.map +1 -0
  55. package/dist/src/modules/walrus.js +77 -0
  56. package/dist/src/modules/walrus.js.map +1 -0
  57. package/dist/src/types/capital_pool.d.ts +14 -0
  58. package/dist/src/types/capital_pool.d.ts.map +1 -0
  59. package/dist/src/types/capital_pool.js +2 -0
  60. package/dist/src/types/capital_pool.js.map +1 -0
  61. package/dist/src/types/claims.d.ts +52 -0
  62. package/dist/src/types/claims.d.ts.map +1 -0
  63. package/dist/src/types/claims.js +8 -0
  64. package/dist/src/types/claims.js.map +1 -0
  65. package/dist/src/types/client.d.ts +13 -0
  66. package/dist/src/types/client.d.ts.map +1 -0
  67. package/dist/src/types/client.js +2 -0
  68. package/dist/src/types/client.js.map +1 -0
  69. package/dist/src/types/cover.d.ts +17 -0
  70. package/dist/src/types/cover.d.ts.map +1 -0
  71. package/dist/src/types/cover.js +2 -0
  72. package/dist/src/types/cover.js.map +1 -0
  73. package/dist/src/types/index.d.ts +8 -0
  74. package/dist/src/types/index.d.ts.map +1 -0
  75. package/dist/src/types/index.js +8 -0
  76. package/dist/src/types/index.js.map +1 -0
  77. package/dist/src/types/network.d.ts +43 -0
  78. package/dist/src/types/network.d.ts.map +1 -0
  79. package/dist/src/types/network.js +2 -0
  80. package/dist/src/types/network.js.map +1 -0
  81. package/dist/src/types/seal.d.ts +39 -0
  82. package/dist/src/types/seal.d.ts.map +1 -0
  83. package/dist/src/types/seal.js +2 -0
  84. package/dist/src/types/seal.js.map +1 -0
  85. package/dist/src/types/staking.d.ts +22 -0
  86. package/dist/src/types/staking.d.ts.map +1 -0
  87. package/dist/src/types/staking.js +2 -0
  88. package/dist/src/types/staking.js.map +1 -0
  89. package/dist/src/types/walrus.d.ts +12 -0
  90. package/dist/src/types/walrus.d.ts.map +1 -0
  91. package/dist/src/types/walrus.js +2 -0
  92. package/dist/src/types/walrus.js.map +1 -0
  93. package/dist/src/utils/evidence.d.ts +56 -0
  94. package/dist/src/utils/evidence.d.ts.map +1 -0
  95. package/dist/src/utils/evidence.js +114 -0
  96. package/dist/src/utils/evidence.js.map +1 -0
  97. package/dist/src/utils/index.d.ts +5 -0
  98. package/dist/src/utils/index.d.ts.map +1 -0
  99. package/dist/src/utils/index.js +5 -0
  100. package/dist/src/utils/index.js.map +1 -0
  101. package/package.json +43 -0
@@ -0,0 +1,50 @@
1
+ function protocolIdBytes(protocolName) {
2
+ return Array.from(new TextEncoder().encode(protocolName));
3
+ }
4
+ export function populateCreateProof(tx, config, params) {
5
+ const { packageIds, objectIds } = config;
6
+ const proof = tx.moveCall({
7
+ target: `${packageIds.protocol}::staking_pool::create_proof`,
8
+ arguments: [
9
+ tx.object(objectIds.stakingRegistry),
10
+ tx.pure.vector('u8', protocolIdBytes(params.protocolName)),
11
+ ],
12
+ });
13
+ return { proof };
14
+ }
15
+ export function populateStake(tx, config, params) {
16
+ const { packageIds, objectIds } = config;
17
+ const registryId = objectIds.stakingRegistry;
18
+ const riskRegistryId = objectIds.riskRegistry;
19
+ const proofArg = typeof params.proof === 'string' ? tx.object(params.proof) : params.proof;
20
+ tx.moveCall({
21
+ target: `${packageIds.protocol}::staking_pool::stake`,
22
+ arguments: [
23
+ tx.object(registryId),
24
+ tx.object(riskRegistryId),
25
+ proofArg,
26
+ params.coin,
27
+ tx.object(objectIds.clock),
28
+ ],
29
+ });
30
+ return {};
31
+ }
32
+ export function populateUnstake(tx, config, params) {
33
+ const { packageIds, objectIds } = config;
34
+ const registryId = objectIds.stakingRegistry;
35
+ const riskRegistryId = objectIds.riskRegistry;
36
+ const proofArg = typeof params.proof === 'string' ? tx.object(params.proof) : params.proof;
37
+ const eva_coin = tx.moveCall({
38
+ target: `${packageIds.protocol}::staking_pool::unstake`,
39
+ arguments: [
40
+ tx.object(registryId),
41
+ tx.object(riskRegistryId),
42
+ proofArg,
43
+ tx.pure.u64(params.trancheId),
44
+ tx.pure.u64(params.sharesToBurn),
45
+ tx.object(objectIds.clock),
46
+ ],
47
+ });
48
+ return { eva_coin };
49
+ }
50
+ //# sourceMappingURL=staking_pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking_pool.js","sourceRoot":"","sources":["../../../src/modules/staking_pool.ts"],"names":[],"mappings":"AAWA,SAAS,eAAe,CAAC,YAAoB;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,EAAe,EACf,MAAqB,EACrB,MAAwB;IAExB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC;QACxB,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,8BAA8B;QAC5D,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC3D;KACF,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAe,EACf,MAAqB,EACrB,MAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;IAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3F,EAAE,CAAC,QAAQ,CAAC;QACV,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,uBAAuB;QACrD,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;YACzB,QAA+B;YAC/B,MAAM,CAAC,IAA2B;YAClC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;SAC3B;KACF,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAe,EACf,MAAqB,EACrB,MAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;IAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3F,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC3B,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,yBAAyB;QACvD,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;YACzB,QAA+B;YAC/B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;SAC3B;KACF,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { Transaction } from '@mysten/sui/transactions';
2
+ import type { NetworkConfig } from '../types';
3
+ export interface StakeProofInfo {
4
+ objectId: string;
5
+ protocolName: string;
6
+ shareAmount: bigint;
7
+ /** tranche_id -> shares. For unstake: only tranches with id < firstActiveTrancheId are withdrawable. */
8
+ trancheDeposits?: Array<{
9
+ trancheId: bigint;
10
+ shares: bigint;
11
+ }>;
12
+ }
13
+ export interface PoolInfo {
14
+ protocolName: string;
15
+ coveredAmount: bigint;
16
+ totalStaked: bigint;
17
+ totalShares: bigint;
18
+ riskWeightBps: bigint;
19
+ leverageFactorBps: bigint;
20
+ capacity: bigint;
21
+ }
22
+ /**
23
+ * Build a transaction that calls risk_manager::get_protocol_status.
24
+ * Returns (covered_amount, total_staked, risk_weight_bps, leverage_factor_bps).
25
+ */
26
+ export declare function buildGetProtocolStatusTx(tx: Transaction, config: NetworkConfig, protocolName: string): void;
27
+ /**
28
+ * Parse (u64, u64, u64, u64) from BCS. Four u64 values.
29
+ */
30
+ export declare function parseProtocolStatusFromBcs(bytes: Uint8Array): [bigint, bigint, bigint, bigint] | null;
31
+ /**
32
+ * Build tx that calls staking_pool::get_pool_total_eva_and_shares.
33
+ * Returns (total_eva, total_shares).
34
+ */
35
+ export declare function buildGetPoolTotalEvaAndSharesTx(tx: Transaction, config: NetworkConfig, protocolName: string): void;
36
+ //# sourceMappingURL=staking_query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking_query.d.ts","sourceRoot":"","sources":["../../../src/modules/staking_query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GACnB,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAKrG;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GACnB,IAAI,CASN"}
@@ -0,0 +1,41 @@
1
+ function protocolIdBytes(protocolName) {
2
+ return Array.from(new TextEncoder().encode(protocolName));
3
+ }
4
+ /**
5
+ * Build a transaction that calls risk_manager::get_protocol_status.
6
+ * Returns (covered_amount, total_staked, risk_weight_bps, leverage_factor_bps).
7
+ */
8
+ export function buildGetProtocolStatusTx(tx, config, protocolName) {
9
+ const { packageIds, objectIds } = config;
10
+ tx.moveCall({
11
+ target: `${packageIds.protocol}::risk_manager::get_protocol_status`,
12
+ arguments: [
13
+ tx.object(objectIds.riskRegistry),
14
+ tx.pure.vector('u8', protocolIdBytes(protocolName)),
15
+ ],
16
+ });
17
+ }
18
+ /**
19
+ * Parse (u64, u64, u64, u64) from BCS. Four u64 values.
20
+ */
21
+ export function parseProtocolStatusFromBcs(bytes) {
22
+ if (bytes.length < 32)
23
+ return null;
24
+ const readU64 = (off) => BigInt(new DataView(bytes.buffer, bytes.byteOffset + off, 8).getBigUint64(0, true));
25
+ return [readU64(0), readU64(8), readU64(16), readU64(24)];
26
+ }
27
+ /**
28
+ * Build tx that calls staking_pool::get_pool_total_eva_and_shares.
29
+ * Returns (total_eva, total_shares).
30
+ */
31
+ export function buildGetPoolTotalEvaAndSharesTx(tx, config, protocolName) {
32
+ const { packageIds, objectIds } = config;
33
+ tx.moveCall({
34
+ target: `${packageIds.protocol}::staking_pool::get_pool_total_eva_and_shares`,
35
+ arguments: [
36
+ tx.object(objectIds.stakingRegistry),
37
+ tx.pure.vector('u8', protocolIdBytes(protocolName)),
38
+ ],
39
+ });
40
+ }
41
+ //# sourceMappingURL=staking_query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking_query.js","sourceRoot":"","sources":["../../../src/modules/staking_query.ts"],"names":[],"mappings":"AAsBA,SAAS,eAAe,CAAC,YAAoB;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAe,EACf,MAAqB,EACrB,YAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,EAAE,CAAC,QAAQ,CAAC;QACV,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,qCAAqC;QACnE,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;SACpD;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAiB;IAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC7C,EAAe,EACf,MAAqB,EACrB,YAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzC,EAAE,CAAC,QAAQ,CAAC;QACV,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,+CAA+C;QAC7E,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;SACpD;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { SuiGrpcClient } from '@mysten/sui/grpc';
2
+ import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
3
+ import type { WalrusUploadParam, WalrusUploadOutput } from '../types';
4
+ export type WalrusExtendedClient = SuiGrpcClient & {
5
+ walrus: {
6
+ writeBlob: (options: {
7
+ blob: Uint8Array;
8
+ deletable?: boolean;
9
+ epochs?: number;
10
+ signer: Ed25519Keypair;
11
+ }) => Promise<{
12
+ blobId: string;
13
+ }>;
14
+ readBlob: (options: {
15
+ blobId: string;
16
+ }) => Promise<Uint8Array>;
17
+ };
18
+ };
19
+ /**
20
+ * Create a Sui client extended with Walrus for upload/read.
21
+ */
22
+ export declare function createWalrusClient(baseClient: SuiGrpcClient, uploadRelay: {
23
+ host: string;
24
+ sendTip?: {
25
+ max: number;
26
+ };
27
+ }): WalrusExtendedClient;
28
+ /**
29
+ * Convert Walrus blobId (base64url) to Sui Object ID (0x + 64 hex) for protocol submit_claim.
30
+ * Walrus blobId is 32 bytes; sui::object::ID expects this format.
31
+ */
32
+ export declare function walrusBlobIdToSuiObjectId(blobId: string): string;
33
+ /**
34
+ * Convert Sui Object ID (0x + 64 hex) to Walrus blobId for readBlob.
35
+ * Use when blob_id comes from claim evidence (chain format).
36
+ */
37
+ export declare function suiObjectIdToWalrusBlobId(objectId: string): string;
38
+ /**
39
+ * Upload blob to Walrus. Returns blobId for ClaimEvidence.
40
+ */
41
+ export declare function uploadToWalrus(walrusClient: WalrusExtendedClient, params: WalrusUploadParam, signer: Ed25519Keypair): Promise<WalrusUploadOutput>;
42
+ //# sourceMappingURL=walrus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrus.d.ts","sourceRoot":"","sources":["../../../src/modules/walrus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,MAAM,EAAE;QACN,SAAS,EAAE,CAAC,OAAO,EAAE;YACnB,IAAI,EAAE,UAAU,CAAC;YACjB,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,cAAc,CAAC;SACxB,KAAK,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClC,QAAQ,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KAChE,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,aAAa,EACzB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACvD,oBAAoB,CAStB;AAiCD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOlE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,oBAAoB,EAClC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAQ7B"}
@@ -0,0 +1,77 @@
1
+ import { walrus } from '@mysten/walrus';
2
+ /**
3
+ * Create a Sui client extended with Walrus for upload/read.
4
+ */
5
+ export function createWalrusClient(baseClient, uploadRelay) {
6
+ return baseClient.$extend(walrus({
7
+ uploadRelay: {
8
+ host: uploadRelay.host,
9
+ sendTip: uploadRelay.sendTip ?? { max: 10000 },
10
+ },
11
+ }));
12
+ }
13
+ function base64UrlDecode(str) {
14
+ const base64 = str.replace(/-/g, '+').replace(/_/g, '/');
15
+ const pad = base64.length % 4;
16
+ const padded = pad ? base64 + '='.repeat(4 - pad) : base64;
17
+ const binary = atob(padded);
18
+ const bytes = new Uint8Array(binary.length);
19
+ for (let i = 0; i < binary.length; i++)
20
+ bytes[i] = binary.charCodeAt(i);
21
+ return bytes;
22
+ }
23
+ function base64UrlEncode(bytes) {
24
+ let binary = '';
25
+ for (let i = 0; i < bytes.length; i++)
26
+ binary += String.fromCharCode(bytes[i]);
27
+ return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
28
+ }
29
+ function bytesToHex(bytes) {
30
+ return Array.from(bytes)
31
+ .map((b) => b.toString(16).padStart(2, '0'))
32
+ .join('');
33
+ }
34
+ function hexToBytes(hex) {
35
+ const cleaned = hex.replace(/^0x/, '');
36
+ const bytes = new Uint8Array(cleaned.length / 2);
37
+ for (let i = 0; i < bytes.length; i++) {
38
+ bytes[i] = parseInt(cleaned.slice(i * 2, i * 2 + 2), 16);
39
+ }
40
+ return bytes;
41
+ }
42
+ /**
43
+ * Convert Walrus blobId (base64url) to Sui Object ID (0x + 64 hex) for protocol submit_claim.
44
+ * Walrus blobId is 32 bytes; sui::object::ID expects this format.
45
+ */
46
+ export function walrusBlobIdToSuiObjectId(blobId) {
47
+ const bytes = base64UrlDecode(blobId);
48
+ if (bytes.length !== 32) {
49
+ throw new Error(`Walrus blobId must decode to 32 bytes, got ${bytes.length}`);
50
+ }
51
+ return '0x' + bytesToHex(bytes);
52
+ }
53
+ /**
54
+ * Convert Sui Object ID (0x + 64 hex) to Walrus blobId for readBlob.
55
+ * Use when blob_id comes from claim evidence (chain format).
56
+ */
57
+ export function suiObjectIdToWalrusBlobId(objectId) {
58
+ const hex = objectId.replace(/^0x/, '');
59
+ if (hex.length !== 64) {
60
+ throw new Error(`Sui Object ID must be 64 hex chars, got ${hex.length}`);
61
+ }
62
+ const bytes = hexToBytes(objectId);
63
+ return base64UrlEncode(bytes);
64
+ }
65
+ /**
66
+ * Upload blob to Walrus. Returns blobId for ClaimEvidence.
67
+ */
68
+ export async function uploadToWalrus(walrusClient, params, signer) {
69
+ const storageInfo = await walrusClient.walrus.writeBlob({
70
+ blob: params.blob,
71
+ deletable: params.deletable ?? true,
72
+ epochs: params.epochs ?? 1,
73
+ signer,
74
+ });
75
+ return { blobId: storageInfo.blobId };
76
+ }
77
+ //# sourceMappingURL=walrus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrus.js","sourceRoot":"","sources":["../../../src/modules/walrus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAiBxC;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAyB,EACzB,WAAwD;IAExD,OAAO,UAAU,CAAC,OAAO,CACvB,MAAM,CAAC;QACL,WAAW,EAAE;YACX,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,KAAM,EAAE;SAChD;KACF,CAAC,CACqB,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB;IACxC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAkC,EAClC,MAAyB,EACzB,MAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;QACtD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;QAC1B,MAAM;KACP,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { TransactionArgument } from '@mysten/sui/transactions';
2
+ export interface DepositParam {
3
+ coin: string | TransactionArgument;
4
+ }
5
+ export interface DepositOutput {
6
+ eva_coin: string | TransactionArgument;
7
+ }
8
+ export interface RedeemParam {
9
+ coin: string | TransactionArgument;
10
+ }
11
+ export interface RedeemOutput {
12
+ usde_coin: string | TransactionArgument;
13
+ }
14
+ //# sourceMappingURL=capital_pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capital_pool.d.ts","sourceRoot":"","sources":["../../../src/types/capital_pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=capital_pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capital_pool.js","sourceRoot":"","sources":["../../../src/types/capital_pool.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import type { TransactionArgument } from '@mysten/sui/transactions';
2
+ /** Claim outcome constants (from claims.move) */
3
+ export declare const CLAIM_OUTCOME: {
4
+ readonly PENDING: 0;
5
+ readonly ACCEPTED: 1;
6
+ readonly DENIED: 2;
7
+ readonly DRAW: 3;
8
+ };
9
+ export interface ClaimEvidence {
10
+ blob_id: string;
11
+ seal_id: string;
12
+ }
13
+ export interface Claim {
14
+ cover_id: bigint;
15
+ amount: bigint;
16
+ evidence: ClaimEvidence;
17
+ payout_redemption_period_sec: bigint;
18
+ payout_redeemed: boolean;
19
+ deposit_retrieved: boolean;
20
+ }
21
+ export interface Assessment {
22
+ voting_end_sec: bigint;
23
+ cooldown_period_sec: bigint;
24
+ accept_votes: bigint;
25
+ deny_votes: bigint;
26
+ }
27
+ export interface SubmitClaimParam {
28
+ coverReceipt: string | TransactionArgument;
29
+ requestedAmount: bigint;
30
+ evidenceBlobId: string;
31
+ evidenceSealId: string;
32
+ depositCoin: string | TransactionArgument;
33
+ }
34
+ export interface CastVoteParam {
35
+ claimId: bigint;
36
+ voteAccept: boolean;
37
+ }
38
+ export interface RedeemClaimPayoutParam {
39
+ coverReceipt: string | TransactionArgument;
40
+ claimId: bigint;
41
+ }
42
+ export interface RetrieveDepositParam {
43
+ coverReceipt: string | TransactionArgument;
44
+ claimId: bigint;
45
+ }
46
+ export interface RedeemClaimPayoutOutput {
47
+ usde_coin: string | TransactionArgument;
48
+ }
49
+ export interface RetrieveDepositOutput {
50
+ usde_coin: string | TransactionArgument;
51
+ }
52
+ //# sourceMappingURL=claims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../src/types/claims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,iDAAiD;AACjD,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,4BAA4B,EAAE,MAAM,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,8 @@
1
+ /** Claim outcome constants (from claims.move) */
2
+ export const CLAIM_OUTCOME = {
3
+ PENDING: 0,
4
+ ACCEPTED: 1,
5
+ DENIED: 2,
6
+ DRAW: 3,
7
+ };
8
+ //# sourceMappingURL=claims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../src/types/claims.ts"],"names":[],"mappings":"AAEA,iDAAiD;AACjD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;CACC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Transaction } from '@mysten/sui/transactions';
2
+ import type { Network } from './network';
3
+ import type { NetworkConfig } from './network';
4
+ import type { PopulateDepositParams } from './capital_pool';
5
+ export interface EvaClientConfig {
6
+ network: Network;
7
+ config?: NetworkConfig;
8
+ }
9
+ export interface CapitalPoolModule {
10
+ /** Appends capital_pool::deposit (USDE → EVA) moveCall to tx */
11
+ populateDeposit(tx: Transaction, params: PopulateDepositParams): void;
12
+ }
13
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/types/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACvE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/types/client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { TransactionArgument } from '@mysten/sui/transactions';
2
+ export interface GetPremiumParam {
3
+ protocolName: string;
4
+ coverAmount: bigint;
5
+ durationDays: bigint | number;
6
+ }
7
+ export interface BuyCoverParam {
8
+ protocolName: string;
9
+ coverAmount: bigint;
10
+ durationDays: bigint | number;
11
+ coin: string | TransactionArgument;
12
+ }
13
+ export interface BuyCoverOutput {
14
+ receipt: string | TransactionArgument;
15
+ change_coin: string | TransactionArgument;
16
+ }
17
+ //# sourceMappingURL=cover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cover.d.ts","sourceRoot":"","sources":["../../../src/types/cover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cover.js","sourceRoot":"","sources":["../../../src/types/cover.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export * from './network';
2
+ export * from './capital_pool';
3
+ export * from './cover';
4
+ export * from './staking';
5
+ export * from './claims';
6
+ export * from './seal';
7
+ export * from './walrus';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './network';
2
+ export * from './capital_pool';
3
+ export * from './cover';
4
+ export * from './staking';
5
+ export * from './claims';
6
+ export * from './seal';
7
+ export * from './walrus';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,43 @@
1
+ export type Network = 'mainnet' | 'testnet';
2
+ import type { SealServerConfig } from './seal';
3
+ export interface NetworkConfig {
4
+ packageIds: {
5
+ protocol: string;
6
+ /** Original/first version - for querying StakeProof (objects keep original type after upgrade). */
7
+ protocolOriginal?: string;
8
+ eva: string;
9
+ };
10
+ objectIds: {
11
+ capitalPool: string;
12
+ stakingRegistry: string;
13
+ claimsVault: string;
14
+ riskRegistry: string;
15
+ coverVault: string;
16
+ config: string;
17
+ allowlist: string;
18
+ clock: string;
19
+ };
20
+ types: {
21
+ eva: string;
22
+ };
23
+ /** Optional: for seal encrypt/decrypt. EVA uses protocol package for seal_approve. */
24
+ seal?: {
25
+ /** Package ID for Seal (must be original/first version). Defaults to protocol if omitted. */
26
+ packageId?: string;
27
+ serverConfigs: SealServerConfig[];
28
+ };
29
+ /** Optional: for walrus upload */
30
+ walrus?: {
31
+ uploadRelay: {
32
+ host: string;
33
+ sendTip?: {
34
+ max: number;
35
+ };
36
+ };
37
+ };
38
+ /** Claim deposit in MIST (default 100e9 = 100 USDE). Query from config if not set. */
39
+ claimDepositMist?: bigint;
40
+ /** Known protocol names (from setup). Used for pool listing when no on-chain iteration. */
41
+ knownProtocols?: string[];
42
+ }
43
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,mGAAmG;QACnG,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,sFAAsF;IACtF,IAAI,CAAC,EAAE;QACL,6FAA6F;QAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,gBAAgB,EAAE,CAAC;KACnC,CAAC;IACF,kCAAkC;IAClC,MAAM,CAAC,EAAE;QACP,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KAC1D,CAAC;IACF,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ /** Seal server config: objectId + weight for threshold decryption */
2
+ export interface SealServerConfig {
3
+ objectId: string;
4
+ weight: number;
5
+ }
6
+ import type { EvidenceInput } from '../utils/evidence';
7
+ export interface EncryptEvidenceParam {
8
+ /** Evidence data: text (string), image (base64/File/Blob), or binary (Uint8Array) */
9
+ data: EvidenceInput;
10
+ /** Allowlist object id - seal id must have this as prefix (EVA: allowlist.id) */
11
+ allowlistObjectId: string;
12
+ /** Seal package id (EVA: protocol package has allowlist::seal_approve) */
13
+ sealPackageId: string;
14
+ /** Seal server configs for encryption */
15
+ sealServerConfigs: SealServerConfig[];
16
+ /** Decryption threshold (default 2) */
17
+ threshold?: number;
18
+ }
19
+ export interface EncryptEvidenceOutput {
20
+ /** Encrypted bytes (for upload to Walrus) */
21
+ encryptedBytes: Uint8Array;
22
+ /** Seal id as hex string (for ClaimEvidence.seal_id) */
23
+ sealId: string;
24
+ }
25
+ export interface DecryptEvidenceParam {
26
+ /** Encrypted bytes ( from Walrus or base64) */
27
+ encryptedBytes: Uint8Array;
28
+ /** Protocol id (bytes) - for seal_approve(id, protocol_id, allowlist) */
29
+ protocolId: Uint8Array;
30
+ /** Allowlist object id */
31
+ allowlistObjectId: string;
32
+ /** Seal package id */
33
+ sealPackageId: string;
34
+ /** Seal server configs */
35
+ sealServerConfigs: SealServerConfig[];
36
+ /** Session key TTL in minutes */
37
+ sessionKeyTtlMin?: number;
38
+ }
39
+ //# sourceMappingURL=seal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../../../src/types/seal.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,IAAI,EAAE,aAAa,CAAC;IACpB,iFAAiF;IACjF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,cAAc,EAAE,UAAU,CAAC;IAC3B,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,cAAc,EAAE,UAAU,CAAC;IAC3B,yEAAyE;IACzE,UAAU,EAAE,UAAU,CAAC;IACvB,0BAA0B;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=seal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal.js","sourceRoot":"","sources":["../../../src/types/seal.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { TransactionArgument } from '@mysten/sui/transactions';
2
+ export interface CreateProofParam {
3
+ protocolName: string;
4
+ }
5
+ export interface CreateProofOutput {
6
+ proof: string | TransactionArgument;
7
+ }
8
+ export interface StakeParam {
9
+ proof: string | TransactionArgument;
10
+ coin: string | TransactionArgument;
11
+ }
12
+ export interface StakeOutput {
13
+ }
14
+ export interface UnstakeParam {
15
+ proof: string | TransactionArgument;
16
+ trancheId: number | bigint;
17
+ sharesToBurn: bigint;
18
+ }
19
+ export interface UnstakeOutput {
20
+ eva_coin: string | TransactionArgument;
21
+ }
22
+ //# sourceMappingURL=staking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/types/staking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;CAE3B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=staking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../../src/types/staking.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export interface WalrusUploadParam {
2
+ /** Blob data to upload */
3
+ blob: Uint8Array;
4
+ /** Deletable (default true) */
5
+ deletable?: boolean;
6
+ /** Epochs (default 1) */
7
+ epochs?: number;
8
+ }
9
+ export interface WalrusUploadOutput {
10
+ blobId: string;
11
+ }
12
+ //# sourceMappingURL=walrus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrus.d.ts","sourceRoot":"","sources":["../../../src/types/walrus.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=walrus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walrus.js","sourceRoot":"","sources":["../../../src/types/walrus.ts"],"names":[],"mappings":""}