@sonarwatch/portfolio-plugins 0.12.139 → 0.12.140

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.12.140](https://github.com/sonarwatch/portfolio/compare/plugins-0.12.139...plugins-0.12.140) (2024-08-16)
6
+
7
+
8
+
5
9
  ## [0.12.139](https://github.com/sonarwatch/portfolio/compare/plugins-0.12.138...plugins-0.12.139) (2024-08-16)
6
10
 
7
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.12.139",
3
+ "version": "0.12.140",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
@@ -23,18 +23,30 @@ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  const apiRes = yield axios_1.default.get(constants_1.apiUrl + owner, {
24
24
  timeout: 1000,
25
25
  });
26
+ if (!apiRes.data.distributions || apiRes.data.distributions.length === 0) {
27
+ return (0, AirdropFetcher_1.getAirdropRaw)({
28
+ statics: constants_1.firstDistribStatics,
29
+ items: [
30
+ {
31
+ amount: 0,
32
+ isClaimed: false,
33
+ label: 'DBR',
34
+ address: constants_1.dbrMint,
35
+ imageUri: constants_1.dbrMint ? undefined : constants_1.platform.image,
36
+ },
37
+ ],
38
+ });
39
+ }
26
40
  const items = [];
27
- if (apiRes.data.distributions) {
28
- for (const distribution of apiRes.data.distributions) {
29
- const tokens = new bignumber_js_1.default(distribution.tokens).div(dbrFactor);
30
- items.push({
31
- amount: tokens.toNumber(),
32
- isClaimed: false,
33
- label: 'DBR',
34
- address: constants_1.dbrMint,
35
- imageUri: constants_1.dbrMint ? undefined : constants_1.platform.image,
36
- });
37
- }
41
+ for (const distribution of apiRes.data.distributions) {
42
+ const tokens = new bignumber_js_1.default(distribution.tokens).div(dbrFactor);
43
+ items.push({
44
+ amount: tokens.toNumber(),
45
+ isClaimed: false,
46
+ label: 'DBR',
47
+ address: constants_1.dbrMint,
48
+ imageUri: constants_1.dbrMint ? undefined : constants_1.platform.image,
49
+ });
38
50
  }
39
51
  return (0, AirdropFetcher_1.getAirdropRaw)({
40
52
  statics: constants_1.firstDistribStatics,
@@ -1 +1 @@
1
- {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/debridge/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AACrC,kDAA6C;AAC7C,yDAI8B;AAC9B,2CAMqB;AAGrB,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,uBAAW,CAAA,CAAC,CAAC;AAEnD,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,MAAM,MAAM,GAA+B,MAAM,eAAK,CAAC,GAAG,CAAC,kBAAM,GAAG,KAAK,EAAE;QACzE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEjE,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,mBAAO;gBAChB,QAAQ,EAAE,mBAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAW,CAAC,KAAK;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,+BAAmB;QAC5B,KAAK;KACN,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,iBAAiB,GAAmB;IAC/C,EAAE,EAAE,GAAG,+BAAmB,CAAC,EAAE,MAAM;IACnC,SAAS,EAAE,0BAAS,CAAC,QAAQ;IAC7B,QAAQ;CACT,CAAC;AAEW,QAAA,oBAAoB,GAAmB;IAClD,EAAE,EAAE,GAAG,+BAAmB,CAAC,EAAE,SAAS;IACtC,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AACF,kDAAkD;AAClD,oBAAoB;AACpB,iBAAiB;AACjB,wBAAwB;AACxB,4BAA4B;AAC5B,KAAK"}
1
+ {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/debridge/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AACrC,kDAA6C;AAC7C,yDAI8B;AAC9B,2CAMqB;AAGrB,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAA,EAAE,EAAI,uBAAW,CAAA,CAAC,CAAC;AAEnD,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,MAAM,MAAM,GAA+B,MAAM,eAAK,CAAC,GAAG,CAAC,kBAAM,GAAG,KAAK,EAAE;QACzE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,IAAA,8BAAa,EAAC;YACnB,OAAO,EAAE,+BAAmB;YAC5B,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,mBAAO;oBAChB,QAAQ,EAAE,mBAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAW,CAAC,KAAK;iBAClD;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjE,KAAK,CAAC,IAAI,CAAC;YACT,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;YACzB,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,mBAAO;YAChB,QAAQ,EAAE,mBAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAW,CAAC,KAAK;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,+BAAmB;QAC5B,KAAK;KACN,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,iBAAiB,GAAmB;IAC/C,EAAE,EAAE,GAAG,+BAAmB,CAAC,EAAE,MAAM;IACnC,SAAS,EAAE,0BAAS,CAAC,QAAQ;IAC7B,QAAQ;CACT,CAAC;AAEW,QAAA,oBAAoB,GAAmB;IAClD,EAAE,EAAE,GAAG,+BAAmB,CAAC,EAAE,SAAS;IACtC,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AACF,kDAAkD;AAClD,oBAAoB;AACpB,iBAAiB;AACjB,wBAAwB;AACxB,4BAA4B;AAC5B,KAAK"}
@@ -21,6 +21,11 @@ const deriveClaimStatus_1 = require("../../utils/solana/jupiter/deriveClaimStatu
21
21
  const clients_1 = require("../../utils/clients");
22
22
  const constants_1 = require("../jupiter/launchpad/constants");
23
23
  const constants_2 = require("./constants");
24
+ const claimStart = new bignumber_js_1.default(1721314800000);
25
+ const earnestClaimDuration = 180 * 24 * 60 * 60 * 1000;
26
+ const earnestClaimEnd = claimStart.plus(earnestClaimDuration);
27
+ const capitalClaimDuration = 14 * 24 * 60 * 60 * 1000;
28
+ const capitalClaimEnd = claimStart.plus(capitalClaimDuration);
24
29
  const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
25
30
  const claimProofBase = yield axios_1.default
26
31
  .get(`${constants_1.lfgApiBaseUrl}/CLoUDKc4Ane7HeQcPpE3YHnznRxhMimJ4MyaUqyHFzAu/${owner}`, {
@@ -46,13 +51,37 @@ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
46
51
  });
47
52
  const client = (0, clients_1.getClientSolana)();
48
53
  const claimStatusAddress = (0, deriveClaimStatus_1.deriveClaimStatus)(owner, claimProofBase.data.merkle_tree, constants_1.lfgDisProgram);
49
- const claimStatusAaccount = yield client.getAccountInfo(claimStatusAddress);
54
+ const claimStatusAccount = yield client.getAccountInfo(claimStatusAddress);
55
+ let capitalAmount = new bignumber_js_1.default(0);
56
+ if (claimStatusAccount) {
57
+ const txs = yield client.getSignaturesForAddress(claimStatusAddress);
58
+ const accountCreationTx = txs[0];
59
+ const claimedTs = accountCreationTx.blockTime;
60
+ if (claimedTs) {
61
+ const ratio = new bignumber_js_1.default(claimedTs * 1000)
62
+ .minus(claimStart)
63
+ .dividedBy(capitalClaimDuration)
64
+ .plus(1);
65
+ capitalAmount = new bignumber_js_1.default(claimProofBase.data.amount).times(ratio);
66
+ }
67
+ else {
68
+ capitalAmount = new bignumber_js_1.default(claimProofBase.data.amount);
69
+ }
70
+ }
71
+ else if (capitalClaimEnd.isLessThan(Date.now())) {
72
+ capitalAmount = new bignumber_js_1.default(claimProofBase.data.amount).times(2);
73
+ }
74
+ else {
75
+ const ratio = new bignumber_js_1.default(Date.now())
76
+ .minus(claimStart)
77
+ .dividedBy(earnestClaimDuration)
78
+ .plus(1);
79
+ capitalAmount = new bignumber_js_1.default(claimProofBase.data.amount).times(ratio);
80
+ }
50
81
  const items = [
51
82
  {
52
- amount: new bignumber_js_1.default(claimProofBase.data.amount)
53
- .div(Math.pow(10, constants_2.cloudDecimals))
54
- .toNumber(),
55
- isClaimed: claimStatusAaccount !== null,
83
+ amount: capitalAmount.div(Math.pow(10, constants_2.cloudDecimals)).toNumber(),
84
+ isClaimed: claimStatusAccount !== null,
56
85
  label: 'CLOUD',
57
86
  address: constants_2.cloudMint,
58
87
  },
@@ -71,12 +100,36 @@ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
71
100
  // If Earnestness elligible
72
101
  if (claimProofEarn && typeof claimProofEarn.data !== 'string') {
73
102
  const earnClaimStatusAddress = (0, deriveClaimStatus_1.deriveClaimStatus)(owner, claimProofEarn.data.merkle_tree, constants_1.lfgDisProgram);
74
- const earnClaimStatusAaccount = yield client.getAccountInfo(earnClaimStatusAddress);
103
+ const earnClaimStatusAccount = yield client.getAccountInfo(earnClaimStatusAddress);
104
+ let earnestAmount = new bignumber_js_1.default(0);
105
+ if (earnClaimStatusAccount) {
106
+ const txs = yield client.getSignaturesForAddress(earnClaimStatusAddress);
107
+ const accountCreationTx = txs[0];
108
+ const time = accountCreationTx.blockTime;
109
+ if (time) {
110
+ const ratio = new bignumber_js_1.default(time * 1000)
111
+ .minus(claimStart)
112
+ .dividedBy(earnestClaimDuration)
113
+ .plus(1);
114
+ earnestAmount = new bignumber_js_1.default(claimProofEarn.data.amount).times(ratio);
115
+ }
116
+ else {
117
+ earnestAmount = new bignumber_js_1.default(claimProofEarn.data.amount);
118
+ }
119
+ }
120
+ else if (earnestClaimEnd.isLessThan(Date.now())) {
121
+ earnestAmount = new bignumber_js_1.default(claimProofEarn.data.amount).times(2);
122
+ }
123
+ else {
124
+ const ratio = new bignumber_js_1.default(Date.now())
125
+ .minus(claimStart)
126
+ .dividedBy(earnestClaimDuration)
127
+ .plus(1);
128
+ earnestAmount = new bignumber_js_1.default(claimProofEarn.data.amount).times(ratio);
129
+ }
75
130
  items.push({
76
- amount: new bignumber_js_1.default(claimProofEarn.data.amount)
77
- .div(Math.pow(10, constants_2.cloudDecimals))
78
- .toNumber(),
79
- isClaimed: earnClaimStatusAaccount !== null,
131
+ amount: earnestAmount.div(Math.pow(10, constants_2.cloudDecimals)).toNumber(),
132
+ isClaimed: earnClaimStatusAccount !== null,
80
133
  label: 'CLOUD',
81
134
  address: constants_2.cloudMint,
82
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"s1AirdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/sanctum/s1AirdropFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s1AirdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/sanctum/s1AirdropFetcher.ts"],"names":[],"mappings":"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"}