@aurigami/sdk 1.6.1 → 1.6.3

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.
@@ -33,3 +33,6 @@ export declare const DEPOSIT_NEAR_REWARDS_PER_WEEK: {
33
33
  export declare const BORROW_NEAR_REWARDS_PER_WEEK: {
34
34
  [k: string]: string;
35
35
  };
36
+ export declare const HARDCODE_PRICE_TOKENS: {
37
+ [k: string]: string;
38
+ };
@@ -0,0 +1,44 @@
1
+ import { ReferralDirectory } from '@aurigami/contracts/typechain';
2
+ import { TransactionResponse } from '@ethersproject/abstract-provider';
3
+ import { BlockchainEntity, BlockchainEntityRead } from '../entities';
4
+ import { Address, NetworkConnection } from '../types';
5
+ export declare class ReferralRead extends BlockchainEntityRead {
6
+ protected _referral: ReferralDirectory;
7
+ constructor(networkConnection: NetworkConnection);
8
+ /**
9
+ * Generate a 10-character referral code
10
+ * containing alphanumeric characters.
11
+ */
12
+ protected generateReferralCode(): string;
13
+ /**
14
+ * Get the referral code for a given address, returns empty string if not found.
15
+ *
16
+ * Called to check if a user has a referral code.
17
+ */
18
+ getUserReferralCode(userAddr: Address): Promise<string>;
19
+ /**
20
+ * Get referral code that a user was referred by, returns empty string if not found.
21
+ */
22
+ getReferralCodeUsed(userAddr: Address): Promise<string>;
23
+ /**
24
+ * Get owner of a referral code, returns zero address if not found.
25
+ */
26
+ getReferralCodeOwner(code: string): Promise<Address>;
27
+ }
28
+ export declare class ReferralReadWrite extends ReferralRead {
29
+ /**
30
+ * Generate a referral code for a given address.
31
+ *
32
+ * Called when an user want to creates his own referral code
33
+ */
34
+ registerNewReferralCode(): Promise<TransactionResponse>;
35
+ /**
36
+ * Called when an user confirms he is referred by a specified code
37
+ */
38
+ useReferralCode(code: string): Promise<TransactionResponse>;
39
+ }
40
+ export declare class Referral extends BlockchainEntity {
41
+ constructor();
42
+ read(networkConnection: NetworkConnection): ReferralRead;
43
+ readWrite(networkConnection: NetworkConnection): ReferralReadWrite;
44
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './airdrop-lottery';
2
2
  export * from './MoneyMarket';
3
3
  export * from './Papermill';
4
+ export * from './Referral';
4
5
  export * from './Staking';
@@ -21,6 +21,7 @@ var EthRepayHelperABI = _interopDefault(require('@aurigami/contracts/artifacts/c
21
21
  var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
22
22
  var EIP20InterfaceABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json'));
23
23
  var PulpABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json'));
24
+ var ReferralDirectoryABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/ReferralDirectory.sol/ReferralDirectory.json'));
24
25
  var FaucetABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Faucet.sol/Faucet.json'));
25
26
  var Multicall2ABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Multicall2.sol/Multicall2.json'));
26
27
 
@@ -69,6 +70,10 @@ var networkAddresses = {
69
70
  name: 'auPLY',
70
71
  address: /*#__PURE__*/MAINNET_ADDRESSES.auTokens.PLY.toLowerCase(),
71
72
  underlying: /*#__PURE__*/'0x09c9d464b58d96837f8d8b6f4d9fe4ad408d3a4f'.toLowerCase()
73
+ }, {
74
+ name: 'auUSN',
75
+ address: /*#__PURE__*/MAINNET_ADDRESSES.auTokens.USN.toLowerCase(),
76
+ underlying: /*#__PURE__*/'0x5183e1b1091804bc2602586919e6880ac1cf2896'.toLowerCase()
72
77
  }],
73
78
  misc: {
74
79
  COMPTROLLER: /*#__PURE__*/MAINNET_ADDRESSES.comptroller.toLowerCase(),
@@ -79,7 +84,8 @@ var networkAddresses = {
79
84
  AURI_AIRDROP: /*#__PURE__*/MAINNET_ADDRESSES.auriAirdrop.toLowerCase(),
80
85
  MULTICALL: /*#__PURE__*/MAINNET_ADDRESSES.multicall.toLowerCase(),
81
86
  TEAM_MULTISIG: /*#__PURE__*/'0x2D05FfFE70CE64c5954710D4C308dB31C8dBd8dE'.toLowerCase(),
82
- PLY_TOKEN_LOCK: /*#__PURE__*/MAINNET_ADDRESSES.plyTokenLock.toLowerCase()
87
+ PLY_TOKEN_LOCK: /*#__PURE__*/MAINNET_ADDRESSES.plyTokenLock.toLowerCase(),
88
+ REFERRAL: /*#__PURE__*/MAINNET_ADDRESSES.referralDirectory.toLocaleLowerCase()
83
89
  },
84
90
  tokens: {
85
91
  AURORA: /*#__PURE__*/'0x8bec47865ade3b172a928df8f990bc7f2a3b9f79'.toLowerCase(),
@@ -88,9 +94,10 @@ var networkAddresses = {
88
94
  USDC: /*#__PURE__*/'0xb12bfca5a55806aaf64e99521918a4bf0fc40802'.toLowerCase(),
89
95
  WNEAR: /*#__PURE__*/'0xC42C30aC6Cc15faC9bD938618BcaA1a1FaE8501d'.toLowerCase(),
90
96
  TRI: /*#__PURE__*/'0xFa94348467f64D5A457F75F8bc40495D33c65aBB'.toLowerCase(),
91
- META: /*#__PURE__*/'0xc21ff01229e982d7c8b8691163b0a3cb8f357453'.toLocaleLowerCase(),
97
+ META: /*#__PURE__*/'0xc21ff01229e982d7c8b8691163b0a3cb8f357453'.toLowerCase(),
92
98
  PULP: /*#__PURE__*/MAINNET_ADDRESSES.PULP.toLowerCase(),
93
- PLYWNEAR: /*#__PURE__*/MAINNET_ADDRESSES.ply_wnear_lp.toLowerCase()
99
+ PLYWNEAR: /*#__PURE__*/MAINNET_ADDRESSES.ply_wnear_lp.toLowerCase(),
100
+ USN: /*#__PURE__*/'0x5183e1b1091804bc2602586919e6880ac1cf2896'.toLowerCase()
94
101
  }
95
102
  }; // All token that we can calculate the price via oracle + coingecko
96
103
 
@@ -127,6 +134,7 @@ Object.entries({
127
134
  }));
128
135
  var BORROW_NEAR_REWARDS_PER_WEEK = {// currently 0 for all markets
129
136
  };
137
+ var HARDCODE_PRICE_TOKENS = /*#__PURE__*/Object.fromEntries([[/*#__PURE__*/networkAddresses.tokens.USN.toLowerCase(), '1']]);
130
138
 
131
139
  var decimalRecords = {
132
140
  '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee': 18,
@@ -150,7 +158,8 @@ var decimalRecords = {
150
158
  '0xf4eb217ba2454613b15dbdea6e5f22276410e89e': 8,
151
159
  '0xc21ff01229e982d7c8b8691163b0a3cb8f357453': 24,
152
160
  '0x04ac48711bcdc45b4d223fb021e09da73c71095e': 18,
153
- '0x044b6b0cd3bb13d2b9057781df4459c66781dce7': 18
161
+ '0x044b6b0cd3bb13d2b9057781df4459c66781dce7': 18,
162
+ '0x5183e1b1091804bc2602586919e6880ac1cf2896': 18
154
163
  };
155
164
 
156
165
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -2624,33 +2633,41 @@ function _fetchPrice3() {
2624
2633
  while (1) {
2625
2634
  switch (_context10.prev = _context10.next) {
2626
2635
  case 0:
2627
- if (!isSameAddress(address, networkAddresses.tokens.PLYWNEAR)) {
2636
+ if (!(address.toLowerCase() in HARDCODE_PRICE_TOKENS)) {
2628
2637
  _context10.next = 4;
2629
2638
  break;
2630
2639
  }
2631
2640
 
2632
- return _context10.abrupt("return", fetchLPPrice(address, provider));
2641
+ return _context10.abrupt("return", new BigNumber(HARDCODE_PRICE_TOKENS[address.toLowerCase()]));
2633
2642
 
2634
2643
  case 4:
2635
- if (!isSameAddress(address, networkAddresses.tokens.PLY)) {
2644
+ if (!isSameAddress(address, networkAddresses.tokens.PLYWNEAR)) {
2636
2645
  _context10.next = 8;
2637
2646
  break;
2638
2647
  }
2639
2648
 
2640
- return _context10.abrupt("return", fetchPLYPrice(provider));
2649
+ return _context10.abrupt("return", fetchLPPrice(address, provider));
2641
2650
 
2642
2651
  case 8:
2652
+ if (!isSameAddress(address, networkAddresses.tokens.PLY)) {
2653
+ _context10.next = 12;
2654
+ break;
2655
+ }
2656
+
2657
+ return _context10.abrupt("return", fetchPLYPrice(provider));
2658
+
2659
+ case 12:
2643
2660
  if (!isSameAddress(address, networkAddresses.tokens.PULP)) {
2644
- _context10.next = 10;
2661
+ _context10.next = 14;
2645
2662
  break;
2646
2663
  }
2647
2664
 
2648
2665
  return _context10.abrupt("return", fetchPULPPrice(provider));
2649
2666
 
2650
- case 10:
2667
+ case 14:
2651
2668
  return _context10.abrupt("return", _fetchPrice(address, provider));
2652
2669
 
2653
- case 11:
2670
+ case 15:
2654
2671
  case "end":
2655
2672
  return _context10.stop();
2656
2673
  }
@@ -107171,6 +107188,236 @@ var Papermill = /*#__PURE__*/function (_BlockchainEntity) {
107171
107188
  return Papermill;
107172
107189
  }(BlockchainEntity);
107173
107190
 
107191
+ var ReferralRead = /*#__PURE__*/function (_BlockchainEntityRead) {
107192
+ _inheritsLoose(ReferralRead, _BlockchainEntityRead);
107193
+
107194
+ function ReferralRead(networkConnection) {
107195
+ var _this;
107196
+
107197
+ _this = _BlockchainEntityRead.call(this, networkConnection) || this;
107198
+ _this._referral = new ethers.Contract(networkAddresses.misc.REFERRAL, ReferralDirectoryABI.abi, networkConnection.provider);
107199
+ return _this;
107200
+ }
107201
+ /**
107202
+ * Generate a 10-character referral code
107203
+ * containing alphanumeric characters.
107204
+ */
107205
+
107206
+
107207
+ var _proto = ReferralRead.prototype;
107208
+
107209
+ _proto.generateReferralCode = function generateReferralCode() {
107210
+ var letters = 'abcdefghijklmnopqrstuvwxyz';
107211
+ var numbers = '1234567890';
107212
+ var charset = letters + letters.toUpperCase() + numbers;
107213
+ var R = '';
107214
+
107215
+ for (var i = 0; i < 10; i++) {
107216
+ R += charset[Math.floor(Math.random() * charset.length)];
107217
+ }
107218
+
107219
+ return R;
107220
+ }
107221
+ /**
107222
+ * Get the referral code for a given address, returns empty string if not found.
107223
+ *
107224
+ * Called to check if a user has a referral code.
107225
+ */
107226
+ ;
107227
+
107228
+ _proto.getUserReferralCode =
107229
+ /*#__PURE__*/
107230
+ function () {
107231
+ var _getUserReferralCode = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(userAddr) {
107232
+ var result;
107233
+ return runtime_1.wrap(function _callee$(_context) {
107234
+ while (1) {
107235
+ switch (_context.prev = _context.next) {
107236
+ case 0:
107237
+ _context.next = 2;
107238
+ return this._referral.userReferralCode(userAddr);
107239
+
107240
+ case 2:
107241
+ result = _context.sent;
107242
+ return _context.abrupt("return", ethers.ethers.utils.parseBytes32String(result));
107243
+
107244
+ case 4:
107245
+ case "end":
107246
+ return _context.stop();
107247
+ }
107248
+ }
107249
+ }, _callee, this);
107250
+ }));
107251
+
107252
+ function getUserReferralCode(_x) {
107253
+ return _getUserReferralCode.apply(this, arguments);
107254
+ }
107255
+
107256
+ return getUserReferralCode;
107257
+ }()
107258
+ /**
107259
+ * Get referral code that a user was referred by, returns empty string if not found.
107260
+ */
107261
+ ;
107262
+
107263
+ _proto.getReferralCodeUsed =
107264
+ /*#__PURE__*/
107265
+ function () {
107266
+ var _getReferralCodeUsed = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddr) {
107267
+ var result;
107268
+ return runtime_1.wrap(function _callee2$(_context2) {
107269
+ while (1) {
107270
+ switch (_context2.prev = _context2.next) {
107271
+ case 0:
107272
+ _context2.next = 2;
107273
+ return this._referral.referralCodeUsed(userAddr);
107274
+
107275
+ case 2:
107276
+ result = _context2.sent;
107277
+ return _context2.abrupt("return", ethers.ethers.utils.parseBytes32String(result));
107278
+
107279
+ case 4:
107280
+ case "end":
107281
+ return _context2.stop();
107282
+ }
107283
+ }
107284
+ }, _callee2, this);
107285
+ }));
107286
+
107287
+ function getReferralCodeUsed(_x2) {
107288
+ return _getReferralCodeUsed.apply(this, arguments);
107289
+ }
107290
+
107291
+ return getReferralCodeUsed;
107292
+ }()
107293
+ /**
107294
+ * Get owner of a referral code, returns zero address if not found.
107295
+ */
107296
+ ;
107297
+
107298
+ _proto.getReferralCodeOwner =
107299
+ /*#__PURE__*/
107300
+ function () {
107301
+ var _getReferralCodeOwner = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(code) {
107302
+ var referralCode;
107303
+ return runtime_1.wrap(function _callee3$(_context3) {
107304
+ while (1) {
107305
+ switch (_context3.prev = _context3.next) {
107306
+ case 0:
107307
+ referralCode = ethers.ethers.utils.formatBytes32String(code);
107308
+ return _context3.abrupt("return", this._referral.referralCodeOwner(referralCode));
107309
+
107310
+ case 2:
107311
+ case "end":
107312
+ return _context3.stop();
107313
+ }
107314
+ }
107315
+ }, _callee3, this);
107316
+ }));
107317
+
107318
+ function getReferralCodeOwner(_x3) {
107319
+ return _getReferralCodeOwner.apply(this, arguments);
107320
+ }
107321
+
107322
+ return getReferralCodeOwner;
107323
+ }();
107324
+
107325
+ return ReferralRead;
107326
+ }(BlockchainEntityRead);
107327
+ var ReferralReadWrite = /*#__PURE__*/function (_ReferralRead) {
107328
+ _inheritsLoose(ReferralReadWrite, _ReferralRead);
107329
+
107330
+ function ReferralReadWrite() {
107331
+ return _ReferralRead.apply(this, arguments) || this;
107332
+ }
107333
+
107334
+ var _proto2 = ReferralReadWrite.prototype;
107335
+
107336
+ /**
107337
+ * Generate a referral code for a given address.
107338
+ *
107339
+ * Called when an user want to creates his own referral code
107340
+ */
107341
+ _proto2.registerNewReferralCode =
107342
+ /*#__PURE__*/
107343
+ function () {
107344
+ var _registerNewReferralCode = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4() {
107345
+ var referralCode;
107346
+ return runtime_1.wrap(function _callee4$(_context4) {
107347
+ while (1) {
107348
+ switch (_context4.prev = _context4.next) {
107349
+ case 0:
107350
+ referralCode = ethers.ethers.utils.formatBytes32String(this.generateReferralCode());
107351
+ return _context4.abrupt("return", this._referral.connect(this._networkConnection.signer).registerNewUserReferralCode(referralCode));
107352
+
107353
+ case 2:
107354
+ case "end":
107355
+ return _context4.stop();
107356
+ }
107357
+ }
107358
+ }, _callee4, this);
107359
+ }));
107360
+
107361
+ function registerNewReferralCode() {
107362
+ return _registerNewReferralCode.apply(this, arguments);
107363
+ }
107364
+
107365
+ return registerNewReferralCode;
107366
+ }()
107367
+ /**
107368
+ * Called when an user confirms he is referred by a specified code
107369
+ */
107370
+ ;
107371
+
107372
+ _proto2.useReferralCode =
107373
+ /*#__PURE__*/
107374
+ function () {
107375
+ var _useReferralCode = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee5(code) {
107376
+ var referralCode;
107377
+ return runtime_1.wrap(function _callee5$(_context5) {
107378
+ while (1) {
107379
+ switch (_context5.prev = _context5.next) {
107380
+ case 0:
107381
+ referralCode = ethers.ethers.utils.formatBytes32String(code);
107382
+ return _context5.abrupt("return", this._referral.connect(this._networkConnection.signer).registerReferralCodeUsed(referralCode));
107383
+
107384
+ case 2:
107385
+ case "end":
107386
+ return _context5.stop();
107387
+ }
107388
+ }
107389
+ }, _callee5, this);
107390
+ }));
107391
+
107392
+ function useReferralCode(_x4) {
107393
+ return _useReferralCode.apply(this, arguments);
107394
+ }
107395
+
107396
+ return useReferralCode;
107397
+ }();
107398
+
107399
+ return ReferralReadWrite;
107400
+ }(ReferralRead);
107401
+ var Referral = /*#__PURE__*/function (_BlockchainEntity) {
107402
+ _inheritsLoose(Referral, _BlockchainEntity);
107403
+
107404
+ function Referral() {
107405
+ return _BlockchainEntity.call(this) || this;
107406
+ }
107407
+
107408
+ var _proto3 = Referral.prototype;
107409
+
107410
+ _proto3.read = function read(networkConnection) {
107411
+ return new ReferralRead(networkConnection);
107412
+ };
107413
+
107414
+ _proto3.readWrite = function readWrite(networkConnection) {
107415
+ return new ReferralReadWrite(networkConnection);
107416
+ };
107417
+
107418
+ return Referral;
107419
+ }(BlockchainEntity);
107420
+
107174
107421
  var StakingRead = /*#__PURE__*/function (_BlockchainEntityRead) {
107175
107422
  _inheritsLoose(StakingRead, _BlockchainEntityRead);
107176
107423
 
@@ -108129,6 +108376,7 @@ exports.BlockchainEntityReadWrite = BlockchainEntityReadWrite;
108129
108376
  exports.DECIMAL_PRECISION = DECIMAL_PRECISION;
108130
108377
  exports.DEPOSIT_NEAR_REWARDS_PER_WEEK = DEPOSIT_NEAR_REWARDS_PER_WEEK;
108131
108378
  exports.ETHAddress = ETHAddress;
108379
+ exports.HARDCODE_PRICE_TOKENS = HARDCODE_PRICE_TOKENS;
108132
108380
  exports.INF = INF;
108133
108381
  exports.MoneyMarket = MoneyMarket;
108134
108382
  exports.MoneyMarketRead = MoneyMarketRead;
@@ -108145,6 +108393,9 @@ exports.Papermill = Papermill;
108145
108393
  exports.PapermillRead = PapermillRead;
108146
108394
  exports.PapermillReadWrite = PapermillReadWrite;
108147
108395
  exports.REWARD_CLAIM_START = REWARD_CLAIM_START;
108396
+ exports.Referral = Referral;
108397
+ exports.ReferralRead = ReferralRead;
108398
+ exports.ReferralReadWrite = ReferralReadWrite;
108148
108399
  exports.SDK = SDK;
108149
108400
  exports.SdkRead = SdkRead;
108150
108401
  exports.SdkReadWrite = SdkReadWrite;