@typus/typus-sdk 1.2.4 → 1.2.6

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/lib/mainnet.json CHANGED
@@ -30,12 +30,12 @@
30
30
  "SCALLOP_MARKET": "0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9",
31
31
  "SCALLOP_REWARD_POOL_FOR_SUI": "0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9",
32
32
  "SCALLOP_REWARD_POOL_FOR_USDC": "0xf4268cc9b9413b9bfe09e8966b8de650494c9e5784bf0930759cfef4904daff8",
33
- "VERSION": "2.11.1",
33
+ "VERSION": "2.12.0",
34
34
  "EXP_GUESS_PACKAGE": "0x32d670520a10a87b8c042d2259c2d1f7c319329bafcf6f893ad9aaf01a43db8b",
35
35
  "EXP_GUESS_PACKAGE_ORIGIN": "0x32d670520a10a87b8c042d2259c2d1f7c319329bafcf6f893ad9aaf01a43db8b",
36
36
  "EXP_GUESS_REGISTRY": "0x70c6cbe6764b315cee1b24f483a0fc8307f047f1fab2a0d4438624845e6ba3f2",
37
37
  "FRAMEWORK_PACKAGE": "0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274",
38
- "SINGLE_COLLATERAL_PACKAGE": "0x936e250c06624db833f4118b6cf3166859dee868d1305fbf6c4ed064c939d9e6",
38
+ "SINGLE_COLLATERAL_PACKAGE": "0x44bb378242396440e1fd6d7befcb35bb8df5623605db5d79313924ad5e8946a6",
39
39
  "SINGLE_COLLATERAL_PACKAGE_ORIGIN": "0x321848bf1ae327a9e022ccb3701940191e02fa193ab160d9c0e49cd3c003de3a",
40
40
  "SINGLE_COLLATERAL_REGISTRY": "0x3d70b09359e3ca8301ae0abeda4f2fdf72ce313ba58c919ce568e5f535fd2ea8",
41
41
  "SINGLE_COLLATERAL_PORTFOLIO_VAULT_REGISTRY": "0xa1a186d050e3172ef4701c16048c99b11f785969874fa2642b9cbcf59cde7fc0",
@@ -1,3 +1,4 @@
1
1
  import { SuiClient } from "@mysten/sui.js/client";
2
2
  import { Tails } from "../typus-nft/fetch";
3
3
  export declare function getUserStake(provider: SuiClient, nft_table: string, user: string): Promise<Tails | null>;
4
+ export declare function getDailyAttendExp(provider: SuiClient, dailyAttendExp: string): Promise<any>;
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getUserStake = void 0;
39
+ exports.getDailyAttendExp = exports.getUserStake = void 0;
40
40
  var fetch_1 = require("../typus-nft/fetch");
41
41
  function getUserStake(provider, nft_table, user) {
42
42
  var _a;
@@ -64,3 +64,22 @@ function getUserStake(provider, nft_table, user) {
64
64
  });
65
65
  }
66
66
  exports.getUserStake = getUserStake;
67
+ function getDailyAttendExp(provider, dailyAttendExp) {
68
+ var _a, _b;
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ var object, result;
71
+ return __generator(this, function (_c) {
72
+ switch (_c.label) {
73
+ case 0: return [4 /*yield*/, provider.getObject({
74
+ id: dailyAttendExp,
75
+ options: { showContent: true },
76
+ })];
77
+ case 1:
78
+ object = _c.sent();
79
+ result = (_b = (_a = object.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields.value;
80
+ return [2 /*return*/, result];
81
+ }
82
+ });
83
+ });
84
+ }
85
+ exports.getDailyAttendExp = getDailyAttendExp;
@@ -0,0 +1,9 @@
1
+ import { SuiClient } from "@mysten/sui.js/client";
2
+ export interface DrawResult {
3
+ answer_1: string;
4
+ result_1: string;
5
+ answer_2: string;
6
+ result_2: string;
7
+ exp: string;
8
+ }
9
+ export declare function simulateGame(provider: SuiClient, packageId: string, registry: string, index: string, amount: string, guess_1: string, larger_than_1: boolean, guess_2: string, larger_than_2: boolean, vrf_input_1: Uint8Array, vrf_input_2: Uint8Array, sender?: string): Promise<DrawResult>;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.simulateGame = void 0;
40
+ var transactions_1 = require("@mysten/sui.js/transactions");
41
+ var ed25519_1 = require("@mysten/sui.js/keypairs/ed25519");
42
+ var bcs_1 = require("@mysten/bcs");
43
+ var signer = ed25519_1.Ed25519Keypair.deriveKeypair(String(process.env.MNEMONIC));
44
+ var SENDER = signer.toSuiAddress();
45
+ var PRIVATE_KEY = Uint8Array.from([]); // your draw key. TODO: use env for cloud function
46
+ function simulateGame(provider, packageId, registry, index, amount, guess_1, larger_than_1, guess_2, larger_than_2, vrf_input_1, vrf_input_2, sender) {
47
+ if (sender === void 0) { sender = SENDER; }
48
+ return __awaiter(this, void 0, void 0, function () {
49
+ var transactionBlock, target, loadBls, BLS, draw_private_key, bls_signature_1, bls_signature_2, transactionBlockArguments, results, bytes, reader, answer_1, result_1, answer_2, result_2, exp, result;
50
+ return __generator(this, function (_a) {
51
+ switch (_a.label) {
52
+ case 0:
53
+ transactionBlock = new transactions_1.TransactionBlock();
54
+ target = "".concat(packageId, "::tails_exp::simulate_game");
55
+ loadBls = require("bls-signatures");
56
+ return [4 /*yield*/, loadBls()];
57
+ case 1:
58
+ BLS = _a.sent();
59
+ draw_private_key = BLS.PrivateKey.from_bytes(PRIVATE_KEY, true);
60
+ bls_signature_1 = BLS.BasicSchemeMPL.sign(draw_private_key, vrf_input_1).serialize();
61
+ bls_signature_2 = BLS.BasicSchemeMPL.sign(draw_private_key, vrf_input_2).serialize();
62
+ transactionBlockArguments = [
63
+ transactionBlock.object(registry),
64
+ transactionBlock.pure(index),
65
+ transactionBlock.pure(amount),
66
+ transactionBlock.pure(guess_1),
67
+ transactionBlock.pure(larger_than_1),
68
+ transactionBlock.pure(guess_2),
69
+ transactionBlock.pure(larger_than_2),
70
+ transactionBlock.pure(uint8ArrayToBCSStringArray(vrf_input_1)),
71
+ transactionBlock.pure(uint8ArrayToBCSStringArray(vrf_input_2)),
72
+ transactionBlock.pure(uint8ArrayToBCSStringArray(bls_signature_1)),
73
+ transactionBlock.pure(uint8ArrayToBCSStringArray(bls_signature_2)),
74
+ ];
75
+ transactionBlock.moveCall({
76
+ target: target,
77
+ typeArguments: [],
78
+ arguments: transactionBlockArguments,
79
+ });
80
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: sender })];
81
+ case 2:
82
+ results = (_a.sent()).results;
83
+ bytes = results[results.length - 1].returnValues[0][0];
84
+ reader = new bcs_1.BcsReader(new Uint8Array(bytes));
85
+ // vector[
86
+ // answer_1,
87
+ // result_1,
88
+ // answer_2,
89
+ // result_2,
90
+ // exp
91
+ // ]
92
+ // skip vector length byte first
93
+ reader.read8();
94
+ answer_1 = reader.read64();
95
+ result_1 = reader.read64();
96
+ answer_2 = reader.read64();
97
+ result_2 = reader.read64();
98
+ exp = reader.read64();
99
+ result = {
100
+ answer_1: answer_1,
101
+ result_1: result_1,
102
+ answer_2: answer_2,
103
+ result_2: result_2,
104
+ exp: exp,
105
+ };
106
+ return [2 /*return*/, result];
107
+ }
108
+ });
109
+ });
110
+ }
111
+ exports.simulateGame = simulateGame;
112
+ function uint8ArrayToBCSStringArray(uint8Array) {
113
+ var result = [];
114
+ for (var i = 0; i < uint8Array.length; i++) {
115
+ // Assume each byte is a UTF-8 character
116
+ var character = String.fromCharCode(uint8Array[i]);
117
+ // Convert character to its BCS representation (you need to implement this part)
118
+ var bcsRepresentation = encodeToBCS(character);
119
+ // Add BCS representation to the result array
120
+ result.push(bcsRepresentation);
121
+ }
122
+ return result;
123
+ }
124
+ // Function to encode a character to its BCS representation
125
+ function encodeToBCS(character) {
126
+ // You need to implement this part based on BCS encoding rules
127
+ // This is a placeholder; the actual implementation depends on BCS specifications
128
+ return character.charCodeAt(0).toString();
129
+ }
@@ -76,6 +76,8 @@ function assetToDecimal(asset) {
76
76
  return 8;
77
77
  case "SEI":
78
78
  return 8;
79
+ case "BUCK":
80
+ return 9;
79
81
  }
80
82
  }
81
83
  exports.assetToDecimal = assetToDecimal;
@@ -223,6 +223,18 @@ export declare function getTransferBidReceiptTx(input: {
223
223
  share?: string;
224
224
  recipient: string;
225
225
  }): TransactionBlock;
226
+ export declare function getMultiTransferBidReceiptTx(input: {
227
+ typusFrameworkPackageId: string;
228
+ typusFrameworkOriginPackageId: string;
229
+ typusDovSinglePackageId: string;
230
+ typusDovSingleRegistry: string;
231
+ typeArguments: string[];
232
+ index: string;
233
+ receipts: string[];
234
+ shares: string[];
235
+ recipients: string[];
236
+ sender: string;
237
+ }): TransactionBlock;
226
238
  /**
227
239
  public(friend) entry fun refund<TOKEN>(
228
240
  registry: &mut Registry,
@@ -16,7 +16,8 @@ var __read = (this && this.__read) || function (o, n) {
16
16
  return ar;
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.getRebateTx = exports.getTransferBidReceiptTx = exports.getExerciseTx = exports.getNewBidTx = exports.getWithdrawHarvestClaimTx = exports.getRedeemTx = exports.getHarvestTx = exports.getClaimTx = exports.getCompoundTx = exports.getUnsubscribeTx = exports.getWithdrawTx = exports.getDepositTx = void 0;
19
+ exports.getRebateTx = exports.getMultiTransferBidReceiptTx = exports.getTransferBidReceiptTx = exports.getExerciseTx = exports.getNewBidTx = exports.getWithdrawHarvestClaimTx = exports.getRedeemTx = exports.getHarvestTx = exports.getClaimTx = exports.getCompoundTx = exports.getUnsubscribeTx = exports.getWithdrawTx = exports.getDepositTx = void 0;
20
+ var transactions_1 = require("@mysten/sui.js/transactions");
20
21
  var constants_1 = require("../../constants");
21
22
  /**
22
23
  public fun deposit<D_TOKEN, B_TOKEN>(
@@ -510,6 +511,43 @@ function getTransferBidReceiptTx(input) {
510
511
  return input.tx;
511
512
  }
512
513
  exports.getTransferBidReceiptTx = getTransferBidReceiptTx;
514
+ function getMultiTransferBidReceiptTx(input) {
515
+ var tx = new transactions_1.TransactionBlock();
516
+ console.assert(input.shares.length == input.recipients.length, "shares.length != recipients.length");
517
+ var receipts = {
518
+ // type: `${input.typusFrameworkOriginPackageId}::vault::TypusBidReceipt`,
519
+ objects: input.receipts.map(function (receipt) { return tx.object(receipt); }),
520
+ };
521
+ var i = 0;
522
+ while (i < input.shares.length) {
523
+ var share = input.shares[i];
524
+ var recipient = input.recipients[i];
525
+ var result = tx.moveCall({
526
+ target: "".concat(input.typusDovSinglePackageId, "::tds_user_entry::public_transfer_bid_receipt"),
527
+ typeArguments: input.typeArguments,
528
+ arguments: [
529
+ tx.object(input.typusDovSingleRegistry),
530
+ tx.pure(input.index),
531
+ tx.makeMoveVec(receipts),
532
+ tx.pure([share]),
533
+ tx.pure(recipient),
534
+ ],
535
+ });
536
+ var unwrap = tx.moveCall({
537
+ target: "0x1::option::destroy_some",
538
+ typeArguments: ["".concat(input.typusFrameworkOriginPackageId, "::vault::TypusBidReceipt")],
539
+ arguments: [tx.object(result[0])],
540
+ });
541
+ receipts = { objects: [unwrap] };
542
+ i += 1;
543
+ if (i == input.shares.length) {
544
+ tx.transferObjects([tx.object(unwrap)], input.sender);
545
+ }
546
+ }
547
+ tx.setGasBudget(100000000);
548
+ return tx;
549
+ }
550
+ exports.getMultiTransferBidReceiptTx = getMultiTransferBidReceiptTx;
513
551
  /**
514
552
  public(friend) entry fun refund<TOKEN>(
515
553
  registry: &mut Registry,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typus/typus-sdk",
3
3
  "author": "Typus",
4
4
  "description": "typus sdk",
5
- "version": "1.2.4",
5
+ "version": "1.2.6",
6
6
  "dependencies": {
7
7
  "@mysten/bcs": "^0.7.3",
8
8
  "@mysten/kiosk": "0.7.12",