@huma-finance/soroban-sdk 0.0.15 → 0.0.16

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 (61) hide show
  1. package/API.md +7 -14
  2. package/dist/cjs/helpers/CreditContractHelper.d.ts +6 -18
  3. package/dist/cjs/helpers/CreditContractHelper.js +107 -92
  4. package/dist/cjs/helpers/CreditContractHelper.js.map +1 -1
  5. package/dist/cjs/helpers/Sep41ContractHelper.d.ts +4 -7
  6. package/dist/cjs/helpers/Sep41ContractHelper.js +41 -31
  7. package/dist/cjs/helpers/Sep41ContractHelper.js.map +1 -1
  8. package/dist/cjs/services/HumaContextStellar.js +16 -19
  9. package/dist/cjs/services/HumaContextStellar.js.map +1 -1
  10. package/dist/cjs/services/StellarWallet.d.ts +3 -1
  11. package/dist/cjs/services/StellarWallet.js +7 -3
  12. package/dist/cjs/services/StellarWallet.js.map +1 -1
  13. package/dist/cjs/utils/client.d.ts +14 -3
  14. package/dist/cjs/utils/client.js +59 -4
  15. package/dist/cjs/utils/client.js.map +1 -1
  16. package/dist/cjs/utils/common.d.ts +14 -1
  17. package/dist/cjs/utils/common.js +41 -1
  18. package/dist/cjs/utils/common.js.map +1 -1
  19. package/dist/cjs/utils/index.d.ts +1 -0
  20. package/dist/cjs/utils/index.js +1 -0
  21. package/dist/cjs/utils/index.js.map +1 -1
  22. package/dist/cjs/utils/network.d.ts +7 -3
  23. package/dist/cjs/utils/network.js +50 -20
  24. package/dist/cjs/utils/network.js.map +1 -1
  25. package/dist/cjs/utils/transaction.d.ts +25 -0
  26. package/dist/cjs/utils/transaction.js +125 -0
  27. package/dist/cjs/utils/transaction.js.map +1 -0
  28. package/dist/helpers/CreditContractHelper.d.ts +6 -18
  29. package/dist/helpers/CreditContractHelper.js +124 -98
  30. package/dist/helpers/CreditContractHelper.js.map +1 -1
  31. package/dist/helpers/Sep41ContractHelper.d.ts +4 -7
  32. package/dist/helpers/Sep41ContractHelper.js +44 -30
  33. package/dist/helpers/Sep41ContractHelper.js.map +1 -1
  34. package/dist/helpers/index.js +5 -2
  35. package/dist/helpers/index.js.map +1 -1
  36. package/dist/index.js +6 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/services/HumaContextStellar.js +21 -20
  39. package/dist/services/HumaContextStellar.js.map +1 -1
  40. package/dist/services/StellarWallet.d.ts +3 -1
  41. package/dist/services/StellarWallet.js +14 -6
  42. package/dist/services/StellarWallet.js.map +1 -1
  43. package/dist/services/index.js +5 -2
  44. package/dist/services/index.js.map +1 -1
  45. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  46. package/dist/utils/client.d.ts +14 -3
  47. package/dist/utils/client.js +98 -33
  48. package/dist/utils/client.js.map +1 -1
  49. package/dist/utils/common.d.ts +14 -1
  50. package/dist/utils/common.js +51 -6
  51. package/dist/utils/common.js.map +1 -1
  52. package/dist/utils/index.d.ts +1 -0
  53. package/dist/utils/index.js +7 -3
  54. package/dist/utils/index.js.map +1 -1
  55. package/dist/utils/network.d.ts +7 -3
  56. package/dist/utils/network.js +64 -31
  57. package/dist/utils/network.js.map +1 -1
  58. package/dist/utils/transaction.d.ts +25 -0
  59. package/dist/utils/transaction.js +125 -0
  60. package/dist/utils/transaction.js.map +1 -0
  61. package/package.json +20 -15
@@ -3,18 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StellarWallet = void 0;
4
4
  const stellar_sdk_1 = require("@stellar/stellar-sdk");
5
5
  class StellarWallet {
6
+ #sourceKeypair;
6
7
  constructor(secretKey) {
7
- this.sourceKeypair = stellar_sdk_1.Keypair.fromSecret(secretKey);
8
+ this.#sourceKeypair = stellar_sdk_1.Keypair.fromSecret(secretKey);
9
+ }
10
+ get keypair() {
11
+ return this.#sourceKeypair;
8
12
  }
9
13
  get userInfo() {
10
14
  return {
11
- publicKey: this.sourceKeypair.publicKey(),
15
+ publicKey: this.#sourceKeypair.publicKey(),
12
16
  };
13
17
  }
14
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
19
  async signTransaction(tx, opts) {
16
20
  const txFromXDR = new stellar_sdk_1.Transaction(tx, opts.networkPassphrase);
17
- txFromXDR.sign(this.sourceKeypair);
21
+ txFromXDR.sign(this.#sourceKeypair);
18
22
  return txFromXDR.toXDR();
19
23
  }
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StellarWallet.js","sourceRoot":"","sources":["../../../src/services/StellarWallet.ts"],"names":[],"mappings":";;;AAAA,sDAA2D;AAE3D,MAAa,aAAa;IAGxB,YAAY,SAAiB;QAC3B,IAAI,CAAC,aAAa,GAAG,qBAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;SAC1C,CAAA;IACH,CAAC;IAED,8DAA8D;IACvD,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,IAAS;QAChD,MAAM,SAAS,GAAG,IAAI,yBAAW,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAClC,OAAO,SAAS,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF;AAnBD,sCAmBC"}
1
+ {"version":3,"file":"StellarWallet.js","sourceRoot":"","sources":["../../../src/services/StellarWallet.ts"],"names":[],"mappings":";;;AAAA,sDAA2D;AAE3D,MAAa,aAAa;IACxB,cAAc,CAAS;IAEvB,YAAY,SAAiB;QAC3B,IAAI,CAAC,cAAc,GAAG,qBAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;SAC3C,CAAA;IACH,CAAC;IAED,8DAA8D;IACvD,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,IAAS;QAChD,MAAM,SAAS,GAAG,IAAI,yBAAW,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACnC,OAAO,SAAS,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF;AAvBD,sCAuBC"}
@@ -1,12 +1,15 @@
1
- import { Client as CreditStorageClient } from '@huma-finance/soroban-credit-storage';
2
1
  import { Client as CreditManagerClient } from '@huma-finance/soroban-credit-manager';
2
+ import { Client as CreditStorageClient } from '@huma-finance/soroban-credit-storage';
3
+ import { Client as HumaConfigClient } from '@huma-finance/soroban-huma-config';
3
4
  import { Client as PoolClient } from '@huma-finance/soroban-pool';
5
+ import { Client as PoolManagerClient } from '@huma-finance/soroban-pool-manager';
4
6
  import { Client as PoolCreditClient } from '@huma-finance/soroban-pool-credit';
5
7
  import { Client as PoolStorageClient } from '@huma-finance/soroban-pool-storage';
6
- import { Client as TrancheVaultClient } from '@huma-finance/soroban-tranche-vault';
7
8
  import { Client as Sep41Client } from '@huma-finance/soroban-sep41';
9
+ import { Client as TrancheVaultClient } from '@huma-finance/soroban-tranche-vault';
8
10
  import { StellarWallet } from '../services/StellarWallet';
9
- import { POOL_NAME, StellarNetwork } from './network';
11
+ import { ContractType, POOL_NAME, StellarNetwork } from './network';
12
+ export type Client = CreditManagerClient | CreditStorageClient | HumaConfigClient | PoolClient | PoolCreditClient | PoolManagerClient | PoolStorageClient | Sep41Client | TrancheVaultClient;
10
13
  export declare const getPoolClient: (poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet) => PoolClient | undefined;
11
14
  export declare const getPoolStorageClient: (poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet) => PoolStorageClient | undefined;
12
15
  export declare const getPoolCreditClient: (poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet) => PoolCreditClient | undefined;
@@ -14,3 +17,11 @@ export declare const getCreditStorageClient: (poolName: POOL_NAME, network: Stel
14
17
  export declare const getCreditManagerClient: (poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet) => CreditManagerClient | undefined;
15
18
  export declare const getTrancheVaultClient: (poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet, tranche: 'senior' | 'junior') => TrancheVaultClient | undefined;
16
19
  export declare const getUnderlyingTokenClient: (tokenAddress: string, network: StellarNetwork, wallet: StellarWallet) => Sep41Client;
20
+ export declare class TransactionContext {
21
+ #private;
22
+ constructor(poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet, contractType: ContractType);
23
+ get client(): Client;
24
+ get wallet(): StellarWallet;
25
+ get network(): StellarNetwork;
26
+ get contractId(): string;
27
+ }
@@ -1,15 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnderlyingTokenClient = exports.getTrancheVaultClient = exports.getCreditManagerClient = exports.getCreditStorageClient = exports.getPoolCreditClient = exports.getPoolStorageClient = exports.getPoolClient = void 0;
4
- const soroban_credit_storage_1 = require("@huma-finance/soroban-credit-storage");
3
+ exports.TransactionContext = exports.getUnderlyingTokenClient = exports.getTrancheVaultClient = exports.getCreditManagerClient = exports.getCreditStorageClient = exports.getPoolCreditClient = exports.getPoolStorageClient = exports.getPoolClient = void 0;
5
4
  const soroban_credit_manager_1 = require("@huma-finance/soroban-credit-manager");
5
+ const soroban_credit_storage_1 = require("@huma-finance/soroban-credit-storage");
6
+ const soroban_huma_config_1 = require("@huma-finance/soroban-huma-config");
6
7
  const soroban_pool_1 = require("@huma-finance/soroban-pool");
8
+ const soroban_pool_manager_1 = require("@huma-finance/soroban-pool-manager");
7
9
  const soroban_pool_credit_1 = require("@huma-finance/soroban-pool-credit");
8
10
  const soroban_pool_storage_1 = require("@huma-finance/soroban-pool-storage");
9
- const soroban_tranche_vault_1 = require("@huma-finance/soroban-tranche-vault");
10
11
  const soroban_sep41_1 = require("@huma-finance/soroban-sep41");
12
+ const soroban_tranche_vault_1 = require("@huma-finance/soroban-tranche-vault");
11
13
  const common_1 = require("./common");
12
14
  const network_1 = require("./network");
15
+ const ClientMap = {
16
+ creditManager: soroban_credit_manager_1.Client,
17
+ creditStorage: soroban_credit_storage_1.Client,
18
+ humaConfig: soroban_huma_config_1.Client,
19
+ pool: soroban_pool_1.Client,
20
+ poolCredit: soroban_pool_credit_1.Client,
21
+ poolManager: soroban_pool_manager_1.Client,
22
+ poolStorage: soroban_pool_storage_1.Client,
23
+ underlyingToken: soroban_sep41_1.Client,
24
+ juniorTranche: soroban_tranche_vault_1.Client,
25
+ seniorTranche: soroban_tranche_vault_1.Client,
26
+ };
13
27
  const getCommonProps = (network, wallet) => {
14
28
  return {
15
29
  publicKey: wallet.userInfo.publicKey,
@@ -76,7 +90,7 @@ const getCreditManagerClient = (poolName, network, wallet) => {
76
90
  exports.getCreditManagerClient = getCreditManagerClient;
77
91
  const getTrancheVaultClient = (poolName, network, wallet, tranche) => {
78
92
  const poolMetadata = (0, common_1.findPoolMetadata)(network, poolName);
79
- if (!poolMetadata) {
93
+ if (!poolMetadata || !poolMetadata.contracts[`${tranche}Tranche`]) {
80
94
  return undefined;
81
95
  }
82
96
  return new soroban_tranche_vault_1.Client({
@@ -92,4 +106,45 @@ const getUnderlyingTokenClient = (tokenAddress, network, wallet) => {
92
106
  });
93
107
  };
94
108
  exports.getUnderlyingTokenClient = getUnderlyingTokenClient;
109
+ class TransactionContext {
110
+ #client;
111
+ #wallet;
112
+ #network;
113
+ #contractId;
114
+ constructor(poolName, network, wallet, contractType) {
115
+ const poolMetadata = (0, common_1.findPoolMetadata)(network, poolName);
116
+ if (!poolMetadata) {
117
+ throw new Error(`Could not find pool metadata by pool name: ${poolName}`);
118
+ }
119
+ if (!poolMetadata.contracts[contractType]) {
120
+ throw new Error(`Could not find contract by contract type: ${contractType}`);
121
+ }
122
+ // @ts-ignore
123
+ const clientClass = ClientMap[contractType];
124
+ if (!clientClass) {
125
+ throw new Error(`Could not find client by contract type: ${contractType}`);
126
+ }
127
+ const client = new clientClass({
128
+ contractId: poolMetadata.contracts[contractType],
129
+ ...getCommonProps(network, wallet),
130
+ });
131
+ this.#client = client;
132
+ this.#wallet = wallet;
133
+ this.#network = network;
134
+ this.#contractId = client.options.contractId;
135
+ }
136
+ get client() {
137
+ return this.#client;
138
+ }
139
+ get wallet() {
140
+ return this.#wallet;
141
+ }
142
+ get network() {
143
+ return this.#network;
144
+ }
145
+ get contractId() {
146
+ return this.#contractId;
147
+ }
148
+ }
149
+ exports.TransactionContext = TransactionContext;
95
150
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,17 @@
1
- import { SorobanRpc } from '@stellar/stellar-sdk';
1
+ import { SorobanRpc, xdr } from '@stellar/stellar-sdk';
2
2
  import { StellarNetwork } from './network';
3
+ export declare enum ScValType {
4
+ address = "address",
5
+ u128 = "u128",
6
+ u64 = "u64",
7
+ u32 = "u32",
8
+ i128 = "i128",
9
+ i64 = "i64",
10
+ i32 = "i32",
11
+ bool = "bool",
12
+ enum = "enum",
13
+ buffer = "buffer"
14
+ }
15
+ export declare const toScVal: (value: any, type: ScValType) => xdr.ScVal;
3
16
  export declare const findPoolMetadata: (network: StellarNetwork, poolName: string) => import("./network").PoolMetadata | undefined;
4
17
  export declare const getLatestLedger: (network: StellarNetwork) => Promise<SorobanRpc.Api.GetLatestLedgerResponse>;
@@ -1,8 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLatestLedger = exports.findPoolMetadata = void 0;
3
+ exports.getLatestLedger = exports.findPoolMetadata = exports.toScVal = exports.ScValType = void 0;
4
4
  const stellar_sdk_1 = require("@stellar/stellar-sdk");
5
5
  const network_1 = require("./network");
6
+ var ScValType;
7
+ (function (ScValType) {
8
+ ScValType["address"] = "address";
9
+ ScValType["u128"] = "u128";
10
+ ScValType["u64"] = "u64";
11
+ ScValType["u32"] = "u32";
12
+ ScValType["i128"] = "i128";
13
+ ScValType["i64"] = "i64";
14
+ ScValType["i32"] = "i32";
15
+ ScValType["bool"] = "bool";
16
+ ScValType["enum"] = "enum";
17
+ ScValType["buffer"] = "buffer";
18
+ })(ScValType = exports.ScValType || (exports.ScValType = {}));
19
+ const toScVal = (
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ value, type) => {
22
+ switch (type) {
23
+ case ScValType.address:
24
+ return stellar_sdk_1.Address.fromString(value).toScVal();
25
+ case ScValType.u128:
26
+ return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u128 });
27
+ case ScValType.u64:
28
+ return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u64 });
29
+ case ScValType.u32:
30
+ return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u32 });
31
+ case ScValType.i128:
32
+ return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.i128 });
33
+ case ScValType.i64:
34
+ return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.i64 });
35
+ case ScValType.i32:
36
+ return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.i32 });
37
+ case ScValType.bool:
38
+ return stellar_sdk_1.xdr.ScVal.scvBool(value);
39
+ case ScValType.enum:
40
+ return stellar_sdk_1.xdr.ScVal.scvVec([stellar_sdk_1.xdr.ScVal.scvSymbol(value)]);
41
+ case ScValType.buffer:
42
+ return stellar_sdk_1.xdr.ScVal.scvBytes(value);
43
+ }
44
+ };
45
+ exports.toScVal = toScVal;
6
46
  const findPoolMetadata = (network, poolName) => {
7
47
  const selectedNetworkMetadata = network_1.NetworkMetadatas.find((metadata) => metadata.network === network);
8
48
  if (selectedNetworkMetadata) {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AACjD,uCAIkB;AAEX,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAE,QAAgB,EAAE,EAAE;IAC5E,MAAM,uBAAuB,GAAG,0BAAgB,CAAC,IAAI,CACnD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO,CAC3C,CAAA;IACD,IAAI,uBAAuB,EAAE;QAC3B,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CACrC,CAAA;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAVY,QAAA,gBAAgB,oBAU5B;AAEM,MAAM,eAAe,GAAG,KAAK,EAAE,OAAuB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,MAAM,CAAC,6BAAmB,CAAC,OAAO,CAAC,EAAE;QACjE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,eAAe,EAAE,CAAA;AACjC,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './client';
2
2
  export * from './common';
3
3
  export * from './network';
4
+ export * from './transaction';
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./client"), exports);
5
5
  tslib_1.__exportStar(require("./common"), exports);
6
6
  tslib_1.__exportStar(require("./network"), exports);
7
+ tslib_1.__exportStar(require("./transaction"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,mDAAwB;AACxB,oDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,mDAAwB;AACxB,oDAAyB;AACzB,wDAA6B"}
@@ -13,14 +13,15 @@ export declare enum StellarNetworkPassphrase {
13
13
  humanet = "Standalone Network ; February 2017"
14
14
  }
15
15
  export declare enum StellarPublicRpcUrl {
16
- mainnet = "https://horizon.stellar.org",
16
+ mainnet = "https://soroban-rpc.mainnet.stellar.gateway.fm",
17
17
  testnet = "https://soroban-testnet.stellar.org",
18
18
  futurenet = "https://rpc-futurenet.stellar.org",
19
19
  localnet = "http://localhost:8000/soroban/rpc",
20
20
  humanet = "https://dev.stellar.huma.finance/soroban/rpc"
21
21
  }
22
22
  export declare enum POOL_NAME {
23
- Arf = "Arf"
23
+ Arf = "Arf",
24
+ Roam = "Roam"
24
25
  }
25
26
  export declare enum POOL_TYPE {
26
27
  Creditline = "Creditline"
@@ -36,10 +37,13 @@ export type PoolMetadata = {
36
37
  poolCredit: string;
37
38
  creditManager: string;
38
39
  creditStorage: string;
39
- seniorTranche: string;
40
40
  juniorTranche: string;
41
+ seniorTranche?: string;
42
+ underlyingToken: string;
41
43
  };
44
+ borrowers: string[];
42
45
  };
46
+ export type ContractType = keyof PoolMetadata['contracts'];
43
47
  export type NetworkMetadata = {
44
48
  network: StellarNetwork;
45
49
  networkPassphrase: StellarNetworkPassphrase;
@@ -19,7 +19,7 @@ var StellarNetworkPassphrase;
19
19
  })(StellarNetworkPassphrase = exports.StellarNetworkPassphrase || (exports.StellarNetworkPassphrase = {}));
20
20
  var StellarPublicRpcUrl;
21
21
  (function (StellarPublicRpcUrl) {
22
- StellarPublicRpcUrl["mainnet"] = "https://horizon.stellar.org";
22
+ StellarPublicRpcUrl["mainnet"] = "https://soroban-rpc.mainnet.stellar.gateway.fm";
23
23
  StellarPublicRpcUrl["testnet"] = "https://soroban-testnet.stellar.org";
24
24
  StellarPublicRpcUrl["futurenet"] = "https://rpc-futurenet.stellar.org";
25
25
  StellarPublicRpcUrl["localnet"] = "http://localhost:8000/soroban/rpc";
@@ -28,31 +28,57 @@ var StellarPublicRpcUrl;
28
28
  var POOL_NAME;
29
29
  (function (POOL_NAME) {
30
30
  POOL_NAME["Arf"] = "Arf";
31
+ POOL_NAME["Roam"] = "Roam";
31
32
  })(POOL_NAME = exports.POOL_NAME || (exports.POOL_NAME = {}));
32
33
  var POOL_TYPE;
33
34
  (function (POOL_TYPE) {
34
35
  POOL_TYPE["Creditline"] = "Creditline";
35
36
  })(POOL_TYPE = exports.POOL_TYPE || (exports.POOL_TYPE = {}));
36
37
  exports.NetworkMetadatas = [
38
+ {
39
+ network: StellarNetwork.mainnet,
40
+ networkPassphrase: StellarNetworkPassphrase.mainnet,
41
+ rpcUrl: StellarPublicRpcUrl.mainnet,
42
+ pools: [
43
+ {
44
+ poolName: POOL_NAME.Arf,
45
+ poolType: POOL_TYPE.Creditline,
46
+ contracts: {
47
+ humaConfig: 'CAVRWN3JYHZLKREHPDXFRCMEXPLPF2LIYRWKBHIRWSE62OCRTELBLQ4O',
48
+ poolStorage: 'CBIJ2WP7TTSMINHJRUX52YR2T3YOD7T2X4335PW3DS4GIOOJ5JQT5WF2',
49
+ pool: 'CAOYBU6OQWAF3OZBHW5N6ID7TPAKZBJ27XR63IGTXMWEI3NSNTCYI6SH',
50
+ poolManager: 'CBQ7KII3OETETYM65TFJT2YPVFFK42V4WUBIMJJNWKTIZ5XOWYZW3XAO',
51
+ poolCredit: 'CANCNGJEAAN4GS6WVI3OAFWD2IAJW6WMI7TOD4UHC623QTDMD3LVTN3G',
52
+ creditManager: 'CD7FKCTK2Z3KX7RZEEKD632RIR7J65KALICV6G7W4UPRMF65RNXAT5AM',
53
+ creditStorage: 'CB6W2Z5ZRKLUL5A3OIHD7IAYMFLNRJ2VHFEXG7TSBB4LFE3YYSJII5JG',
54
+ juniorTranche: 'CCHQ5HEKNHCH3LUQ3B73VJRDHNSKOUL567VB3HMOJ7M7BI4QVZ7WCQCL',
55
+ seniorTranche: 'CAEVE6BJIXQV54DGNFZ5GRIMIIITAHXSOWTGKTDZCQZA4FXK4ZNDZYFX',
56
+ underlyingToken: 'CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75',
57
+ },
58
+ borrowers: ['GBQ4MIGKASCJG4GNEOQ3G6Z6YDUXCAKYARB3MNJ7QOF54MNMYW7HP62V'],
59
+ },
60
+ ],
61
+ },
37
62
  {
38
63
  network: StellarNetwork.testnet,
39
64
  networkPassphrase: StellarNetworkPassphrase.testnet,
40
65
  rpcUrl: StellarPublicRpcUrl.testnet,
41
66
  pools: [
42
67
  {
43
- poolName: POOL_NAME.Arf,
68
+ poolName: POOL_NAME.Roam,
44
69
  poolType: POOL_TYPE.Creditline,
45
70
  contracts: {
46
- humaConfig: 'CDEH36NMZK6AV5I675A2BSRIWLJGBVXWN5HHABKJKHNIGKSKJQVXPXFB',
47
- poolStorage: 'CBHY4NM3DVEBX3QTL3X5XEOAKHDMP44HDP7SBDTCOAMFU7LFIBMFEV4N',
48
- pool: 'CAI6UQAXZ6ICE5QQ4WFEEDQLZORGMYBCL2RB2NVY6AGMH4XT6PCH7IPX',
49
- poolManager: 'CCTCNYWWKPVFNPJDQUMJM6GFBU6IJSZH6CHPM5COJTBMWO64A4XVCXNV',
50
- poolCredit: 'CCYWDOW34SPB3FCR6A633B5GS5DPRRQKTTCT4DU7YYFDRT7XBOA2HYYY',
51
- creditManager: 'CDHYIC3ISV3F3RL7FROC3SI2GW65ZOJHMA2AMZJYLIRLWSDELFF3CR23',
52
- creditStorage: 'CBZHE4LD4FYGELCFDVRNBLNO4743X4UJDIDC7CGYS3MLJ3CIHC4SGLHC',
53
- juniorTranche: 'CAJZ4V2N5TOJ6GVOJOKTJSP3QYDNVC6O6TDO2V64GULQGZNRRFM5AS7V',
54
- seniorTranche: 'CBQV4USFV4MBZTKK6W6SM576GVBZGZZHEHT7Y2OVIKNYG45L57LDL6SA',
71
+ humaConfig: 'CDX6NBJ3OV4TWRCZK4DFBHDHE37UUDS66PPGNIPBGUI56D254EKVFETX',
72
+ poolStorage: 'CBA35JCIXFRAEPRVD3JAQ5WLC7SYZP3RABUKJ52LU5EI2YQ6CDNIAQZF',
73
+ pool: 'CBAJF4BORH2YLIZH4QQSBGDD62VVUKVTNESXRV7KVXTSQ2X4WWP2M3NC',
74
+ poolManager: 'CDLLMPQMNIT7HE2Q6PGVSWYKAE7FLUHVM4QYV7D4ISLT3GD4XZDVSBXV',
75
+ poolCredit: 'CDPYWOCBSXC3W6BYRKO645OQLJNDDZ2EDSZ2Y547BL4LHMSRU7FUVTVG',
76
+ creditManager: 'CBEH5SKVKC6GXP5FQLAUFX43GAFRXZDOHDUQW3CRFD5BQVH7L6YSBP4V',
77
+ creditStorage: 'CADDOLDFYN6Y2DXNYMX2ILVLPLU5W7MAQ7GBOOYWJ6JCH4DGHLUH2FB3',
78
+ juniorTranche: 'CB6K4IUC3CJHIWVHHLBDTGXVS6CT64EKGD5CGBIDNMSAKVZHCWQ3LM2D',
79
+ underlyingToken: 'CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA',
55
80
  },
81
+ borrowers: [], // TODO: Replace with Roam
56
82
  },
57
83
  ],
58
84
  },
@@ -74,7 +100,9 @@ exports.NetworkMetadatas = [
74
100
  creditStorage: 'CCPTCRU7FUVQLNR4GGUBWQDHJCQTW3MXDZQYQQGB4OC2PNME7HNIV3R3',
75
101
  juniorTranche: 'CD4TNCKN7PDNOBS2JHEXRXPHOL327EX4Z7EURDG2XFWBZ67XG5XW5Q7O',
76
102
  seniorTranche: 'CDOB4BPE2AKSZYW27QP4IYVIIGVQD3C7E7YL6XRZ2ANM7MYJT2TKOVPC',
103
+ underlyingToken: '',
77
104
  },
105
+ borrowers: [],
78
106
  },
79
107
  ],
80
108
  },
@@ -87,16 +115,18 @@ exports.NetworkMetadatas = [
87
115
  poolName: POOL_NAME.Arf,
88
116
  poolType: POOL_TYPE.Creditline,
89
117
  contracts: {
90
- humaConfig: 'CD35X6V3O5BVFWYGETHIHRWPJIWYIA3MYHHULBUJLMD4INX6Y34DW3EG',
91
- poolStorage: 'CARX3M7LZM4QPPR65OGGY36GKEVD2LNV6I7IMB5EHE77XUAQXZHTKX6S',
92
- pool: 'CBB6RMWO2YBVSV66ZTBXZWEWKEFTFDP4K5YPV6KEMVZN26DNDXQI3JEO',
93
- poolManager: 'CB6OOMIMGLDYYPI7QEJFKMNZEBMAZG5IF2SK7VTL5B4KE2KJVYKIIZOS',
94
- poolCredit: 'CBB2X44GZCH2NMW7HQ53PAURLKQT2DOZVIQ3PWYY3YGQIOOUNAV5QACI',
95
- creditManager: 'CBN6JIEPA4QQKANLMEUICLK24NBEWIG7TPIRGEXDT32WHYLBNHQU67CR',
96
- creditStorage: 'CBXVWUFZU65MJZWFDMZSRSA6LPRVAUSOYCMVC3YJJXX32TH35MXUZJTN',
97
- juniorTranche: 'CBWSIQMVG5VVUBTRFGAAXNZQ4AMRVYK2VN3346EP3JYPDZXT6VEOQEK2',
98
- seniorTranche: 'CBSPGT3IW3PS2CIKVHZKPNA2KZP6EAXFZ3AH4LQ6HN252GGJKBNSIUAW',
118
+ humaConfig: 'CCEI7LEMN2PT47VV6HMQDJI4UC25M2AT33IDMAZFPRH64GYG5WE266SW',
119
+ poolStorage: 'CDDNEIRXEFRDPRJP7MJ3TBCAG4ZG6X7V3TAZYOZSDSCQ3PNA6CUPGTF6',
120
+ pool: 'CBX53HW254W3ROTSVZSZ7RM3RVAFGCPTZFEE4RURXHHYOL2VDVGUOVWU',
121
+ poolManager: 'CAJJ75TGZYB2QXPF7PQQR43IRGEN4A3MXKGZWVIZESLNDGDU22FB6DRM',
122
+ poolCredit: 'CBZ7UQSPU5DEX6I7ADGLRYB2YWJOF3XUYXRILPKYZDBBXBZC5EORZ3AM',
123
+ creditManager: 'CDSF3EVJAJOA7L4GNL2MUZBB4BPTOKZW2USXTUEWYD7W5H5HW6WUGMVA',
124
+ creditStorage: 'CB7KFMFHVENKUMLB3QYRGMLFQMJ5IPIEBLKOMWXYLRY537EHNAON6U56',
125
+ juniorTranche: 'CBDPTKXAOUVRUCGPUJKRZGL3AKZVEOPUR5BFNRAHTJSI6WOUZLXU4KXP',
126
+ seniorTranche: 'CBM2QHAXIELWLDITPPXU4ILWOFKA6RLO4M5OSJJS4QJNWDU5L7CSKJUP',
127
+ underlyingToken: '',
99
128
  },
129
+ borrowers: [],
100
130
  },
101
131
  ],
102
132
  },
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/utils/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/utils/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { SorobanRpc, xdr } from '@stellar/stellar-sdk';
4
+ import { StellarWallet } from '../services';
5
+ import { TransactionContext } from './client';
6
+ import { ScValType } from './common';
7
+ import { StellarNetwork } from './network';
8
+ export declare const simulateTransaction: (wallet: StellarWallet, network: StellarNetwork, contractAddress: string, method: string, params?: xdr.ScVal[]) => Promise<SorobanRpc.Api.SimulateTransactionResponse>;
9
+ export declare const restoreTransaction: (wallet: StellarWallet, network: StellarNetwork, simResponse: SorobanRpc.Api.SimulateTransactionResponse) => Promise<xdr.ScVal | undefined>;
10
+ export declare const extendTTLTransaction: (wallet: StellarWallet, network: StellarNetwork, simResponse: SorobanRpc.Api.SimulateTransactionResponse) => Promise<xdr.ScVal | undefined>;
11
+ export declare const restoreAndExtendTTL: (network: StellarNetwork, wallet: StellarWallet, contractAddress: string, method: string, params: {
12
+ name: string;
13
+ type: ScValType;
14
+ value: string | number | bigint;
15
+ }[]) => Promise<void>;
16
+ export declare const sendTransaction: ({ context, method, params, shouldSignTransaction, }: {
17
+ context: TransactionContext;
18
+ method: string;
19
+ params?: {
20
+ name: string;
21
+ type: ScValType;
22
+ value: string | number | bigint | Buffer;
23
+ }[] | undefined;
24
+ shouldSignTransaction?: boolean | undefined;
25
+ }) => Promise<any>;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendTransaction = exports.restoreAndExtendTTL = exports.extendTTLTransaction = exports.restoreTransaction = exports.simulateTransaction = void 0;
4
+ const stellar_sdk_1 = require("@stellar/stellar-sdk");
5
+ const common_1 = require("./common");
6
+ const network_1 = require("./network");
7
+ const handlePendingTransaction = async (sendResponse, server) => {
8
+ if (sendResponse.status === 'PENDING') {
9
+ let getResponse = await server.getTransaction(sendResponse.hash);
10
+ while (getResponse.status === 'NOT_FOUND') {
11
+ await new Promise((resolve) => setTimeout(resolve, 1000));
12
+ getResponse = await server.getTransaction(sendResponse.hash);
13
+ }
14
+ if (getResponse.status === 'SUCCESS') {
15
+ if (!getResponse.resultMetaXdr) {
16
+ throw 'Empty resultMetaXDR in getTransaction response';
17
+ }
18
+ const transactionMeta = getResponse.resultMetaXdr;
19
+ return transactionMeta?.v3()?.sorobanMeta()?.returnValue();
20
+ }
21
+ else {
22
+ throw getResponse.resultXdr;
23
+ }
24
+ }
25
+ else {
26
+ throw sendResponse.errorResult;
27
+ }
28
+ };
29
+ const simulateTransaction = async (wallet, network, contractAddress, method, params = []) => {
30
+ const server = new stellar_sdk_1.SorobanRpc.Server(network_1.StellarPublicRpcUrl[network]);
31
+ const contract = new stellar_sdk_1.Contract(contractAddress);
32
+ const account = await server.getAccount(wallet.userInfo.publicKey);
33
+ const builtTransaction = new stellar_sdk_1.TransactionBuilder(account, {
34
+ fee: stellar_sdk_1.BASE_FEE,
35
+ networkPassphrase: network_1.StellarNetworkPassphrase[network],
36
+ })
37
+ .addOperation(contract.call(method, ...params))
38
+ .setTimeout(30)
39
+ .build();
40
+ return server.simulateTransaction(builtTransaction);
41
+ };
42
+ exports.simulateTransaction = simulateTransaction;
43
+ const restoreTransaction = async (wallet, network, simResponse) => {
44
+ const server = new stellar_sdk_1.SorobanRpc.Server(network_1.StellarPublicRpcUrl[network]);
45
+ const account = await server.getAccount(wallet.userInfo.publicKey);
46
+ const restoreNeeded = stellar_sdk_1.SorobanRpc.Api.isSimulationRestore(simResponse);
47
+ if (!restoreNeeded) {
48
+ return;
49
+ }
50
+ console.log('Start restore transaction');
51
+ const { restorePreamble } = simResponse;
52
+ const builtTransaction = new stellar_sdk_1.TransactionBuilder(account, {
53
+ networkPassphrase: network_1.StellarNetworkPassphrase[network],
54
+ fee: restorePreamble.minResourceFee,
55
+ })
56
+ .setSorobanData(restorePreamble.transactionData.build())
57
+ .addOperation(stellar_sdk_1.Operation.restoreFootprint({}))
58
+ .setTimeout(30)
59
+ .build();
60
+ const preparedTransaction = await server.prepareTransaction(builtTransaction);
61
+ preparedTransaction.sign(wallet.keypair);
62
+ const response = await server.sendTransaction(preparedTransaction);
63
+ const result = await handlePendingTransaction(response, server);
64
+ console.log('Restore transaction successfully: ', response.hash);
65
+ return result;
66
+ };
67
+ exports.restoreTransaction = restoreTransaction;
68
+ const extendTTLTransaction = async (wallet, network, simResponse) => {
69
+ const server = new stellar_sdk_1.SorobanRpc.Server(network_1.StellarPublicRpcUrl[network]);
70
+ const account = await server.getAccount(wallet.userInfo.publicKey);
71
+ const restoreNeeded = stellar_sdk_1.SorobanRpc.Api.isSimulationRestore(simResponse);
72
+ if (!restoreNeeded) {
73
+ return;
74
+ }
75
+ console.log('Start extend TTL transaction');
76
+ const { restorePreamble } = simResponse;
77
+ const builtTransaction = new stellar_sdk_1.TransactionBuilder(account, {
78
+ networkPassphrase: network_1.StellarNetworkPassphrase[network],
79
+ fee: restorePreamble.minResourceFee,
80
+ })
81
+ .setSorobanData(restorePreamble.transactionData.build())
82
+ .addOperation(stellar_sdk_1.Operation.extendFootprintTtl({
83
+ extendTo: 3110400 - 1,
84
+ }))
85
+ .setTimeout(30)
86
+ .build();
87
+ const preparedTransaction = await server.prepareTransaction(builtTransaction);
88
+ preparedTransaction.sign(wallet.keypair);
89
+ const response = await server.sendTransaction(preparedTransaction);
90
+ const result = await handlePendingTransaction(response, server);
91
+ console.log('Extend TTL transaction successfully: ', response.hash);
92
+ return result;
93
+ };
94
+ exports.extendTTLTransaction = extendTTLTransaction;
95
+ const restoreAndExtendTTL = async (network, wallet, contractAddress, method, params) => {
96
+ const paramsXDR = params.map((param) => {
97
+ return (0, common_1.toScVal)(param.value, param.type);
98
+ });
99
+ const simResponse = await (0, exports.simulateTransaction)(wallet, network, contractAddress, method, paramsXDR);
100
+ await (0, exports.restoreTransaction)(wallet, network, simResponse);
101
+ await (0, exports.extendTTLTransaction)(wallet, network, simResponse);
102
+ };
103
+ exports.restoreAndExtendTTL = restoreAndExtendTTL;
104
+ const sendTransaction = async ({ context, method, params = [], shouldSignTransaction = false, }) => {
105
+ const paramsXDR = params.map((param) => {
106
+ return (0, common_1.toScVal)(param.value, param.type);
107
+ });
108
+ const simResponse = await (0, exports.simulateTransaction)(context.wallet, context.network, context.contractId, method, paramsXDR);
109
+ await (0, exports.restoreTransaction)(context.wallet, context.network, simResponse);
110
+ await (0, exports.extendTTLTransaction)(context.wallet, context.network, simResponse);
111
+ const paramsClient = params.reduce((accumulator, currentValue) => {
112
+ accumulator[currentValue.name] = currentValue.value;
113
+ return accumulator;
114
+ }, {});
115
+ // @ts-ignore
116
+ const tx = await context.client[method](paramsClient, {
117
+ timeoutInSeconds: 30,
118
+ });
119
+ if (!shouldSignTransaction) {
120
+ return tx;
121
+ }
122
+ return tx.signAndSend();
123
+ };
124
+ exports.sendTransaction = sendTransaction;
125
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/utils/transaction.ts"],"names":[],"mappings":"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"}