@typus/typus-sdk 1.2.5 → 1.2.7

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.
@@ -0,0 +1,30 @@
1
+ {
2
+ "testnet": {
3
+ "0": [
4
+ 93, 132, 146, 197, 57, 202, 76, 226, 113, 152, 138, 226, 107, 104, 160, 161, 76, 148, 232, 122, 45, 151, 104, 149, 96, 50, 66,
5
+ 12, 153, 151, 173, 26
6
+ ],
7
+ "1": [
8
+ 9, 192, 158, 189, 157, 42, 3, 15, 174, 56, 107, 243, 2, 186, 181, 127, 168, 208, 174, 73, 95, 155, 102, 39, 31, 29, 70, 157, 66,
9
+ 126, 157, 9
10
+ ],
11
+ "2": [
12
+ 26, 70, 126, 242, 209, 221, 124, 49, 182, 47, 139, 38, 110, 110, 123, 174, 162, 143, 227, 230, 73, 115, 21, 100, 254, 121, 20,
13
+ 23, 148, 230, 29, 59
14
+ ]
15
+ },
16
+ "mainnet": {
17
+ "0": [
18
+ 10, 47, 42, 168, 27, 251, 153, 127, 134, 85, 136, 209, 37, 228, 74, 46, 104, 58, 1, 149, 30, 190, 84, 96, 234, 105, 189, 195,
19
+ 229, 31, 206, 77
20
+ ],
21
+ "1": [
22
+ 16, 130, 107, 16, 145, 19, 201, 184, 83, 11, 126, 138, 151, 199, 58, 126, 115, 143, 135, 238, 251, 9, 42, 15, 19, 115, 48, 36,
23
+ 30, 242, 186, 182
24
+ ],
25
+ "2": [
26
+ 15, 140, 142, 72, 98, 166, 126, 59, 253, 238, 222, 186, 158, 182, 245, 3, 196, 134, 177, 150, 129, 185, 47, 20, 45, 148, 107,
27
+ 133, 167, 216, 42, 246
28
+ ]
29
+ }
30
+ }
@@ -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,8 @@
1
+ export interface DrawResult {
2
+ answer_1: string;
3
+ result_1: string;
4
+ answer_2: string;
5
+ result_2: string;
6
+ exp: string;
7
+ }
8
+ export declare function simulateGame(network: "mainnet" | "testnet", 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,135 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.simulateGame = void 0;
43
+ var transactions_1 = require("@mysten/sui.js/transactions");
44
+ var client_1 = require("@mysten/sui.js/client");
45
+ var ed25519_1 = require("@mysten/sui.js/keypairs/ed25519");
46
+ var bcs_1 = require("@mysten/bcs");
47
+ var drawKeys_json_1 = __importDefault(require("../../drawKeys.json"));
48
+ var bls_signatures_1 = __importDefault(require("bls-signatures"));
49
+ var signer = ed25519_1.Ed25519Keypair.deriveKeypair(String(process.env.MNEMONIC));
50
+ var SENDER = signer.toSuiAddress();
51
+ function simulateGame(network, packageId, registry, index, amount, guess_1, larger_than_1, guess_2, larger_than_2, vrf_input_1, vrf_input_2, sender) {
52
+ if (sender === void 0) { sender = SENDER; }
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ var provider, transactionBlock, target, BLS, PRIVATE_KEY, draw_private_key, bls_signature_1, bls_signature_2, transactionBlockArguments, results, bytes, reader, answer_1, result_1, answer_2, result_2, exp, result;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0:
58
+ provider = new client_1.SuiClient({ url: (0, client_1.getFullnodeUrl)(network) });
59
+ transactionBlock = new transactions_1.TransactionBlock();
60
+ target = "".concat(packageId, "::tails_exp::simulate_game");
61
+ return [4 /*yield*/, (0, bls_signatures_1.default)()];
62
+ case 1:
63
+ BLS = _a.sent();
64
+ PRIVATE_KEY = Uint8Array.from(drawKeys_json_1.default[network][index]);
65
+ draw_private_key = BLS.PrivateKey.from_bytes(PRIVATE_KEY, true);
66
+ bls_signature_1 = BLS.BasicSchemeMPL.sign(draw_private_key, vrf_input_1).serialize();
67
+ bls_signature_2 = BLS.BasicSchemeMPL.sign(draw_private_key, vrf_input_2).serialize();
68
+ transactionBlockArguments = [
69
+ transactionBlock.object(registry),
70
+ transactionBlock.pure(index),
71
+ transactionBlock.pure(amount),
72
+ transactionBlock.pure(guess_1),
73
+ transactionBlock.pure(larger_than_1),
74
+ transactionBlock.pure(guess_2),
75
+ transactionBlock.pure(larger_than_2),
76
+ transactionBlock.pure(uint8ArrayToBCSStringArray(vrf_input_1)),
77
+ transactionBlock.pure(uint8ArrayToBCSStringArray(vrf_input_2)),
78
+ transactionBlock.pure(uint8ArrayToBCSStringArray(bls_signature_1)),
79
+ transactionBlock.pure(uint8ArrayToBCSStringArray(bls_signature_2)),
80
+ ];
81
+ transactionBlock.moveCall({
82
+ target: target,
83
+ typeArguments: [],
84
+ arguments: transactionBlockArguments,
85
+ });
86
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: sender })];
87
+ case 2:
88
+ results = (_a.sent()).results;
89
+ bytes = results[results.length - 1].returnValues[0][0];
90
+ reader = new bcs_1.BcsReader(new Uint8Array(bytes));
91
+ // vector[
92
+ // answer_1,
93
+ // result_1,
94
+ // answer_2,
95
+ // result_2,
96
+ // exp
97
+ // ]
98
+ // skip vector length byte first
99
+ reader.read8();
100
+ answer_1 = reader.read64();
101
+ result_1 = reader.read64();
102
+ answer_2 = reader.read64();
103
+ result_2 = reader.read64();
104
+ exp = reader.read64();
105
+ result = {
106
+ answer_1: answer_1,
107
+ result_1: result_1,
108
+ answer_2: answer_2,
109
+ result_2: result_2,
110
+ exp: exp,
111
+ };
112
+ return [2 /*return*/, result];
113
+ }
114
+ });
115
+ });
116
+ }
117
+ exports.simulateGame = simulateGame;
118
+ function uint8ArrayToBCSStringArray(uint8Array) {
119
+ var result = [];
120
+ for (var i = 0; i < uint8Array.length; i++) {
121
+ // Assume each byte is a UTF-8 character
122
+ var character = String.fromCharCode(uint8Array[i]);
123
+ // Convert character to its BCS representation (you need to implement this part)
124
+ var bcsRepresentation = encodeToBCS(character);
125
+ // Add BCS representation to the result array
126
+ result.push(bcsRepresentation);
127
+ }
128
+ return result;
129
+ }
130
+ // Function to encode a character to its BCS representation
131
+ function encodeToBCS(character) {
132
+ // You need to implement this part based on BCS encoding rules
133
+ // This is a placeholder; the actual implementation depends on BCS specifications
134
+ return character.charCodeAt(0).toString();
135
+ }
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.5",
5
+ "version": "1.2.7",
6
6
  "dependencies": {
7
7
  "@mysten/bcs": "^0.7.3",
8
8
  "@mysten/kiosk": "0.7.12",
@@ -10,6 +10,7 @@
10
10
  "@types/node": "^20.5.7",
11
11
  "aftermath-ts-sdk": "^1.1.14",
12
12
  "bignumber.js": "^9.1.1",
13
+ "bls-signatures": "^2.0.2",
13
14
  "bs58": "^5.0.0",
14
15
  "builtin-modules": "^3.3.0",
15
16
  "chai": "^4.3.7",