curvance 1.0.7 → 1.0.8

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.
package/README.md CHANGED
@@ -12,4 +12,56 @@ Note: All values are returned in either BigInt or [Decimals](https://www.npmjs.c
12
12
 
13
13
  ```
14
14
  $ npm install --save curvance
15
+ ```
16
+
17
+ ## ❯ Usage
18
+
19
+ ### Grab general information
20
+ This is very RPC efficient as it uses 1-3 RPC call's to setup all the data you need.
21
+ ```js
22
+ const { markets, reader, faucet } = await setupChain("monad-testnet", wallet);
23
+ ```
24
+
25
+ You can then explore the data pretty easily like so:
26
+ ```js
27
+ let count = 0;
28
+ console.log(`Market summaries in USD:`);
29
+ for(const market of markets) {
30
+ console.log(`[${count}] tvl: ${market.tvl.toFixed(18)} | totalDebt: ${market.totalDebt.toFixed(18)} | totalCollateral: ${market.totalCollateral.toFixed(18)}`);
31
+ for(const token of market.tokens) {
32
+ console.log(`\tToken: ${token.symbol} | Price: ${token.getPrice()} | Amount: ${token.getTvl(false)}`);
33
+ }
34
+ count++;
35
+ }
36
+ ```
37
+
38
+ ### Grab individaul classes
39
+ ```js
40
+ const test_1 = new ERC20(signer, `0x123`);
41
+ await test_1.approve(someGuy, BigInt(50e18));
42
+ ```
43
+
44
+ Some of these classes use preloaded cache to prevent RPC calls s for example
45
+ ```js
46
+ const test_1 = new ERC20(signer, `0x123`);
47
+ console.log(test_1.name); // Attempts to use cache for name, so this returns undefined
48
+ const name = await test_1.fetchName();
49
+ console.log(name); // My Test Token
50
+ console.log(test_1.name); // My Test Token
51
+ ```
52
+
53
+ Note: Protocol reader will populate things like `test_1.name` for underlying assets from the first preload RPC call and wont need to be fetched.
54
+
55
+
56
+ ### Helpers
57
+ - `getContractAddresses` - Grab the contracts addresses for a given chain
58
+ - `AdaptorTypes` - Adaptor identifier enums
59
+ - `WAD` - WAD amount
60
+ - `WAD_DECIMAL` - WAD amount as Decimal.js type
61
+ - `contractSetup` - Used to initialize contract & attach typescript interface
62
+ - `handleTransactionWithOracles` - Depending on what adaptor is being used to execute the function we choose to run a multi-call that will write-price on-chain with the given function -- but only if the adaptor is the type of adaptor that requires this (pull oracle)
63
+
64
+ ```js
65
+ const contracts = getContractAddresses('monad-testnet');
66
+ console.log(contracts.ProtocolReader);
15
67
  ```
package/dist/helpers.d.ts CHANGED
@@ -12,8 +12,6 @@ export declare enum AdaptorTypes {
12
12
  REDSTONE_CLASSIC = 3,
13
13
  MOCK = 1337
14
14
  }
15
- export declare function toDecimal(amount: bigint, decimals?: bigint): bigint;
16
- export declare function toInteger(amount: bigint, decimals?: bigint): bigint;
17
15
  export declare function contractSetup<I>(signer: JsonRpcSigner | Wallet, contractAddress: address, abi: any): Contract & I;
18
16
  export declare function getContractAddresses(chain: ChainRpcPrefix): never[] | {
19
17
  CentralRegistry: string;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,GAAG,QAAqB,CAAC;AACtC,eAAO,MAAM,WAAW,SAAmB,CAAC;AAE5C,oBAAY,YAAY;IACpB,SAAS,IAAI;IACb,aAAa,IAAI;IACjB,gBAAgB,IAAI;IACpB,IAAI,OAAO;CACd;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,CAAC,CAMjH;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzD;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAOxI;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,GAAG,QAAqB,CAAC;AACtC,eAAO,MAAM,WAAW,SAAmB,CAAC;AAE5C,oBAAY,YAAY;IACpB,SAAS,IAAI;IACb,aAAa,IAAI;IACjB,gBAAgB,IAAI;IACpB,IAAI,OAAO;CACd;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,CAAC,CAMjH;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzD;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAOxI;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC"}
package/dist/helpers.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AdaptorTypes = exports.WAD_DECIMAL = exports.WAD = void 0;
4
- exports.toDecimal = toDecimal;
5
- exports.toInteger = toInteger;
6
4
  exports.contractSetup = contractSetup;
7
5
  exports.getContractAddresses = getContractAddresses;
8
6
  exports.handleTransactionWithOracles = handleTransactionWithOracles;
@@ -18,12 +16,6 @@ var AdaptorTypes;
18
16
  AdaptorTypes[AdaptorTypes["REDSTONE_CLASSIC"] = 3] = "REDSTONE_CLASSIC";
19
17
  AdaptorTypes[AdaptorTypes["MOCK"] = 1337] = "MOCK";
20
18
  })(AdaptorTypes || (exports.AdaptorTypes = AdaptorTypes = {}));
21
- function toDecimal(amount, decimals = 18n) {
22
- return amount / BigInt(10n ** BigInt(decimals));
23
- }
24
- function toInteger(amount, decimals = 18n) {
25
- return amount * BigInt(10n ** BigInt(decimals));
26
- }
27
19
  function contractSetup(signer, contractAddress, abi) {
28
20
  const contract = new ethers_1.Contract(contractAddress, abi, signer);
29
21
  if (contract == undefined || contract == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAmBA,8BAEC;AAED,8BAEC;AAED,sCAMC;AAED,oDAQC;AAED,oEAOC;AAlDD,mCAAkC;AAClC,2CAAqC;AAIrC,qCAAkC;AAErB,QAAA,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AACzB,QAAA,WAAW,GAAG,IAAI,oBAAO,CAAC,WAAG,CAAC,CAAC;AAE5C,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,yDAAa,CAAA;IACb,iEAAiB,CAAA;IACjB,uEAAoB,CAAA;IACpB,kDAAW,CAAA;AACf,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED,SAAgB,SAAS,CAAC,MAAc,EAAE,QAAQ,GAAG,GAAG;IACpD,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc,EAAE,QAAQ,GAAG,GAAG;IACpD,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,aAAa,CAAI,MAA8B,EAAE,eAAwB,EAAE,GAAQ;IAC/F,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAG,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,QAAwB,CAAC;AACpC,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAqB;IACtD,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,4BAA4B,CAAI,SAAmB,EAAE,KAAgC,EAAE,OAAqB;IACxH,IAAG,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QACvC,QAAQ;QACR,sCAAsC;IAC1C,CAAC;IAED,OAAO,SAAS,EAAgB,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAiBA,sCAMC;AAED,oDAQC;AAED,oEAOC;AAxCD,mCAAkC;AAClC,2CAAqC;AAErC,qCAAkC;AAErB,QAAA,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AACzB,QAAA,WAAW,GAAG,IAAI,oBAAO,CAAC,WAAG,CAAC,CAAC;AAE5C,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,yDAAa,CAAA;IACb,iEAAiB,CAAA;IACjB,uEAAoB,CAAA;IACpB,kDAAW,CAAA;AACf,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED,SAAgB,aAAa,CAAI,MAA8B,EAAE,eAAwB,EAAE,GAAQ;IAC/F,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAG,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,QAAwB,CAAC;AACpC,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAqB;IACtD,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,4BAA4B,CAAI,SAAmB,EAAE,KAAgC,EAAE,OAAqB;IACxH,IAAG,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QACvC,QAAQ;QACR,sCAAsC;IAC1C,CAAC;IAED,OAAO,SAAS,EAAgB,CAAC;AACrC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './classes/Faucet';
3
3
  export * from './classes/OracleManager';
4
4
  export * from './classes/Market';
5
5
  export * from './classes/CToken';
6
+ export * from './classes/ERC20';
6
7
  export * from './helpers';
7
8
  export * from './setup';
8
9
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ __exportStar(require("./classes/Faucet"), exports);
19
19
  __exportStar(require("./classes/OracleManager"), exports);
20
20
  __exportStar(require("./classes/Market"), exports);
21
21
  __exportStar(require("./classes/CToken"), exports);
22
+ __exportStar(require("./classes/ERC20"), exports);
22
23
  __exportStar(require("./helpers"), exports);
23
24
  __exportStar(require("./setup"), exports);
24
25
  __exportStar(require("./types"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,mDAAiC;AACjC,0DAAwC;AACxC,mDAAiC;AACjC,mDAAiC;AACjC,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,mDAAiC;AACjC,0DAAwC;AACxC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "curvance",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [