@shipload/sdk 0.3.1 → 0.3.2
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/shipload.d.ts +127 -47
- package/lib/shipload.js +221 -83
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +221 -84
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/contracts/platform.ts +109 -11
- package/src/contracts/server.ts +68 -53
- package/src/epoch.ts +11 -0
- package/src/hash.ts +5 -4
- package/src/index-module.ts +1 -0
- package/src/rolls.ts +3 -3
- package/src/shipload.ts +46 -12
- package/src/travel.ts +2 -2
package/lib/shipload.m.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
|
-
import { Blob, ABI, Struct, Name, UInt64,
|
|
2
|
+
import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt16, Int64, TimePoint, UInt8, BlockTimestamp, Bytes, Checksum512, APIClient } from '@wharfkit/antelope';
|
|
3
3
|
import ContractKit, { Contract as Contract$2 } from '@wharfkit/contract';
|
|
4
4
|
|
|
5
|
-
const abiBlob$1 = Blob.from('
|
|
5
|
+
const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAA0KY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAplbmFibGVnYW1lAAIIY29udHJhY3QEbmFtZQdlbmFibGVkBGJvb2wMZm91bmRjb21wYW55AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nC2dhbWVfY29uZmlnAAIEc2VlZAtjaGVja3N1bTI1NgllcG9jaHRpbWUGdWludDMyCWdhbWVfbWV0YQAEBG5hbWUGc3RyaW5nC2Rlc2NyaXB0aW9uBnN0cmluZwN1cmwGc3RyaW5nB3ZlcnNpb24Gc3RyaW5nCGdhbWVfcm93AAQIY29udHJhY3QEbmFtZQZjb25maWcLZ2FtZV9jb25maWcEbWV0YQlnYW1lX21ldGEFc3RhdGUKZ2FtZV9zdGF0ZQpnYW1lX3N0YXRlAAMHZW5hYmxlZARib29sBXN0YXJ0DnRpbWVfcG9pbnRfc2VjA2VuZA50aW1lX3BvaW50X3NlYwlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAHAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAACoeMxUBmVuYWJsZfMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2FibGUgcGxhdGZvcm0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGxhdGZvcm0gY29udHJhY3QuAICShql4zFQKZW5hYmxlZ2FtZfwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZWdhbWUKc3VtbWFyeTogJ0VuYWJsZS9kaXNiYWJsZSBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3Qu4KepkqI0NV0MZm91bmRjb21wYW55gwItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZm91bmRjb21wYW55CnN1bW1hcnk6ICdGb3VuZCBhIG5ldyBjb21wYW55JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRm91bmQgYSBuZXcgY29tcGFueSBpbiB0aGUgU2hpcGxvYWQgcGxhdGZvcm0gY29udHJhY3QuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AgJKGqWxS1Qp1cGRhdGVnYW1ljQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdXBkYXRlZ2FtZQpzdW1tYXJ5OiAnVXBkYXRlIGdhbWUgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpVcGRhdGUgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0DAAAAwE9TJUUDaTY0AAALY29tcGFueV9yb3cAAAAAAKykYQNpNjQAAAhnYW1lX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
|
|
6
6
|
const abi$1 = ABI.from(abiBlob$1);
|
|
7
7
|
var Types$1;
|
|
8
8
|
(function (Types) {
|
|
@@ -42,6 +42,18 @@ var Types$1;
|
|
|
42
42
|
Struct.type('enable')
|
|
43
43
|
], enable);
|
|
44
44
|
Types.enable = enable;
|
|
45
|
+
let enablegame = class enablegame extends Struct {
|
|
46
|
+
};
|
|
47
|
+
__decorate([
|
|
48
|
+
Struct.field(Name)
|
|
49
|
+
], enablegame.prototype, "contract", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
Struct.field('bool')
|
|
52
|
+
], enablegame.prototype, "enabled", void 0);
|
|
53
|
+
enablegame = __decorate([
|
|
54
|
+
Struct.type('enablegame')
|
|
55
|
+
], enablegame);
|
|
56
|
+
Types.enablegame = enablegame;
|
|
45
57
|
let foundcompany = class foundcompany extends Struct {
|
|
46
58
|
};
|
|
47
59
|
__decorate([
|
|
@@ -54,6 +66,87 @@ var Types$1;
|
|
|
54
66
|
Struct.type('foundcompany')
|
|
55
67
|
], foundcompany);
|
|
56
68
|
Types.foundcompany = foundcompany;
|
|
69
|
+
let game_config = class game_config extends Struct {
|
|
70
|
+
};
|
|
71
|
+
__decorate([
|
|
72
|
+
Struct.field(Checksum256)
|
|
73
|
+
], game_config.prototype, "seed", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
Struct.field(UInt32)
|
|
76
|
+
], game_config.prototype, "epochtime", void 0);
|
|
77
|
+
game_config = __decorate([
|
|
78
|
+
Struct.type('game_config')
|
|
79
|
+
], game_config);
|
|
80
|
+
Types.game_config = game_config;
|
|
81
|
+
let game_meta = class game_meta extends Struct {
|
|
82
|
+
};
|
|
83
|
+
__decorate([
|
|
84
|
+
Struct.field('string')
|
|
85
|
+
], game_meta.prototype, "name", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
Struct.field('string')
|
|
88
|
+
], game_meta.prototype, "description", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Struct.field('string')
|
|
91
|
+
], game_meta.prototype, "url", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
Struct.field('string')
|
|
94
|
+
], game_meta.prototype, "version", void 0);
|
|
95
|
+
game_meta = __decorate([
|
|
96
|
+
Struct.type('game_meta')
|
|
97
|
+
], game_meta);
|
|
98
|
+
Types.game_meta = game_meta;
|
|
99
|
+
let game_state = class game_state extends Struct {
|
|
100
|
+
};
|
|
101
|
+
__decorate([
|
|
102
|
+
Struct.field('bool')
|
|
103
|
+
], game_state.prototype, "enabled", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
Struct.field(TimePointSec)
|
|
106
|
+
], game_state.prototype, "start", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
Struct.field(TimePointSec)
|
|
109
|
+
], game_state.prototype, "end", void 0);
|
|
110
|
+
game_state = __decorate([
|
|
111
|
+
Struct.type('game_state')
|
|
112
|
+
], game_state);
|
|
113
|
+
Types.game_state = game_state;
|
|
114
|
+
let game_row = class game_row extends Struct {
|
|
115
|
+
};
|
|
116
|
+
__decorate([
|
|
117
|
+
Struct.field(Name)
|
|
118
|
+
], game_row.prototype, "contract", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
Struct.field(game_config)
|
|
121
|
+
], game_row.prototype, "config", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
Struct.field(game_meta)
|
|
124
|
+
], game_row.prototype, "meta", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
Struct.field(game_state)
|
|
127
|
+
], game_row.prototype, "state", void 0);
|
|
128
|
+
game_row = __decorate([
|
|
129
|
+
Struct.type('game_row')
|
|
130
|
+
], game_row);
|
|
131
|
+
Types.game_row = game_row;
|
|
132
|
+
let startgame = class startgame extends Struct {
|
|
133
|
+
};
|
|
134
|
+
__decorate([
|
|
135
|
+
Struct.field(Name)
|
|
136
|
+
], startgame.prototype, "contract", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
Struct.field(game_config)
|
|
139
|
+
], startgame.prototype, "config", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
Struct.field(game_meta)
|
|
142
|
+
], startgame.prototype, "meta", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
Struct.field(game_state)
|
|
145
|
+
], startgame.prototype, "state", void 0);
|
|
146
|
+
startgame = __decorate([
|
|
147
|
+
Struct.type('startgame')
|
|
148
|
+
], startgame);
|
|
149
|
+
Types.startgame = startgame;
|
|
57
150
|
let state_row = class state_row extends Struct {
|
|
58
151
|
};
|
|
59
152
|
__decorate([
|
|
@@ -63,15 +156,18 @@ var Types$1;
|
|
|
63
156
|
Struct.type('state_row')
|
|
64
157
|
], state_row);
|
|
65
158
|
Types.state_row = state_row;
|
|
66
|
-
let
|
|
159
|
+
let updategame = class updategame extends Struct {
|
|
67
160
|
};
|
|
68
161
|
__decorate([
|
|
69
|
-
Struct.field(
|
|
70
|
-
],
|
|
71
|
-
|
|
72
|
-
Struct.
|
|
73
|
-
],
|
|
74
|
-
|
|
162
|
+
Struct.field(Name)
|
|
163
|
+
], updategame.prototype, "contract", void 0);
|
|
164
|
+
__decorate([
|
|
165
|
+
Struct.field(game_meta)
|
|
166
|
+
], updategame.prototype, "meta", void 0);
|
|
167
|
+
updategame = __decorate([
|
|
168
|
+
Struct.type('updategame')
|
|
169
|
+
], updategame);
|
|
170
|
+
Types.updategame = updategame;
|
|
75
171
|
let wipe = class wipe extends Struct {
|
|
76
172
|
};
|
|
77
173
|
wipe = __decorate([
|
|
@@ -81,6 +177,7 @@ var Types$1;
|
|
|
81
177
|
})(Types$1 || (Types$1 = {}));
|
|
82
178
|
const TableMap$1 = {
|
|
83
179
|
company: Types$1.company_row,
|
|
180
|
+
games: Types$1.game_row,
|
|
84
181
|
state: Types$1.state_row,
|
|
85
182
|
};
|
|
86
183
|
class Contract$1 extends Contract$2 {
|
|
@@ -108,12 +205,18 @@ var platform = /*#__PURE__*/Object.freeze({
|
|
|
108
205
|
Contract: Contract$1
|
|
109
206
|
});
|
|
110
207
|
|
|
111
|
-
const abiBlob = Blob.from('
|
|
208
|
+
const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAB0HYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BmFycml2ZQACBW93bmVyBG5hbWUCaWQGdWludDY0CGJ1eWdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0CWNhcmdvX3JvdwAFAmlkBnVpbnQ2NAdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50MTYGbG9hZGVkBnVpbnQxNgpjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAEGY29tbWl0C2NoZWNrc3VtMjU2C2Nvb3JkaW5hdGVzAAIBeAVpbnQ2NAF5BWludDY0BmVuYWJsZQABB2VuYWJsZWQEYm9vbApnb29kX3ByaWNlAAICaWQGdWludDE2BXByaWNlBnVpbnQ2NARoYXNoAAEFdmFsdWUGc3RyaW5nB2hhc2g1MTIAAQV2YWx1ZQZzdHJpbmcEaW5pdAABBHNlZWQLY2hlY2tzdW0yNTYEam9pbgABB2FjY291bnQEbmFtZQxsb2FkZXJfc3RhdHMAAwRtYXNzBnVpbnQzMghxdWFudGl0eQZ1aW50MTYGdGhydXN0BnVpbnQzMgttYXJrZXRwcmljZQACCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB2dvb2RfaWQGdWludDE2DG1hcmtldHByaWNlcwABCGxvY2F0aW9uC2Nvb3JkaW5hdGVzCnBsYXllcl9yb3cAAwVvd25lcgRuYW1lB2JhbGFuY2UGdWludDY0BGRlYnQGdWludDY0BHNhbHQAAQRzYWx0BnVpbnQ2NAlzZWxsZ29vZHMAAwdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQMc2VxdWVuY2Vfcm93AAIDa2V5BG5hbWUFdmFsdWUGdWludDY0CHNoaXBfcm93AAoCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcIbG9jYXRpb24LY29vcmRpbmF0ZXMEc2tpbgV1aW50OAR0aWVyBXVpbnQ4BXN0YXRlCnNoaXBfc3RhdGUFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwp0cmF2ZWxwbGFuDHRyYXZlbF9wbGFuPwpzaGlwX3N0YXRlAAEGZW5lcmd5BnVpbnQzMgpzaGlwX3N0YXRzAAYIY2FwYWNpdHkGdWludDMyBWRyYWluBnVpbnQzMgRtYXNzBnVpbnQ2NAVvcmJpdAZ1aW50MTYIcmVjaGFyZ2UGdWludDMyBnRocnVzdAZ1aW50NjQJc3RhdGVfcm93AAYHZW5hYmxlZARib29sBWVwb2NoBnVpbnQ2NARzYWx0BnVpbnQ2NARzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgdnZW5lc2lzFGJsb2NrX3RpbWVzdGFtcF90eXBlBnRyYXZlbAAEBW93bmVyBG5hbWUCaWQGdWludDY0C2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCHJlY2hhcmdlBGJvb2wLdHJhdmVsX3BsYW4AAwtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwlkZXBhcnR1cmUKdGltZV9wb2ludAhkdXJhdGlvbgZ1aW50MzIOdHJhdmVsX3N1bW1hcnkADAVzdGF0cwpzaGlwX3N0YXRzB2xvYWRlcnMMbG9hZGVyX3N0YXRzBm9yaWdpbgtjb29yZGluYXRlcwtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwhkaXN0YW5jZQZ1aW50NjQJdG90YWxtYXNzBnVpbnQ2NAxhY2NlbGVyYXRpb24GdWludDY0CmZsaWdodHRpbWUGdWludDY0C2VuZXJneXVzYWdlBnVpbnQ2NAxyZWNoYXJnZXRpbWUGdWludDY0CGxvYWR0aW1lBnVpbnQ2NAR0aW1lBnVpbnQ2NAp0cmF2ZWx0aW1lAAICaWQGdWludDY0C2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzBHdpcGUAABEAAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAKjt7jUGYXJyaXZlswItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYXJyaXZlCnN1bW1hcnk6ICdDb21wbGV0ZSB0cmF2ZWwnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbXBsZXRlIHRoZSB0cmF2ZWwgb2YgYSBzaGlwIGJ5IHVwZGF0aW5nIGl0cyBsb2NhdGlvbiB0byB0aGUgZGVzdGluYXRpb24gY29vcmRpbmF0ZXMgYWZ0ZXIgdGhlIHRyYXZlbCBkdXJhdGlvbiBoYXMgcGFzc2VkLgoKLS0tAAAAOFHKvD4IYnV5Z29vZHPdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBidXlnb29kcwpzdW1tYXJ5OiAnQnV5IGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBnb29kcyBhbmQgYWRkIHRoZW0gdG8gYSBzaGlwJ3MgY2FyZ28uAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdPEBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4KCi0tLQAAAACoeMxUBmVuYWJsZeIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4KCi0tLQAAAAAA0LBpBGhhc2j9AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhMjU2IGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTI1NiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuCgotLS0AAABAhNKwaQdoYXNoNTEy+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaDUxMgpzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTUxMiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGE1MTIgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAAAAkN10BGluaXT6AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBpbml0CnN1bW1hcnk6ICdJbml0aWFsaXplIGdhbWUgc2VlZCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhbGl6ZSBhIHRoZSBnYW1lcyBzZWVkIGFuZCBzZWVkIHZhbHVlcyB0byBib290c3RyYXAgZ2FtZSBzdGF0ZS4AAAAAADAdfQRqb2luyQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogam9pbgpzdW1tYXJ5OiAnSm9pbiBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkpvaW4gYSBnYW1lIG9mIFNoaXBsb2FkCgotLS0AFHK3ZgWvkQttYXJrZXRwcmljZZsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG1hcmtldHByaWNlCnN1bW1hcnk6ICdHZXQgcHJpY2Ugb2YgZ29vZCBhdCBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGEgc3BlY2lmaWVkIGdvb2QgYXQgYSBnaXZlbiBsb2NhdGlvbi4KCi0tLYAVcrdmBa+RDG1hcmtldHByaWNlc5UCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG1hcmtldHByaWNlcwpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGFsbCBnb29kcyBhdCBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBnb29kcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgAAAAAAkKPBBHNhbHTdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzYWx0CnN1bW1hcnk6ICdBcHBlbmQgU2FsdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWRkIGFkZGl0aW9uYWwgc2FsdCB0byB0aGUgbmV4dCBlcG9jaCBzZWVkLgoKLS0tAADAiVIWo8IJc2VsbGdvb2Rz1QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2VsbGdvb2RzCnN1bW1hcnk6ICdTZWxsIGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZWxsIGdvb2RzIGZyb20gYSBzaGlwJ3MgY2FyZ28uCgotLS0AAAAARLXNzQZ0cmF2ZWz9AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgYSBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSB0cmF2ZWwgb2YgYSBzaGlwIGZyb20gaXRzIGN1cnJlbnQgbG9jYXRpb24gdG8gYSBuZXcgZGVzdGluYXRpb24uCgotLS0AgJIuR7XNzQp0cmF2ZWx0aW1ljAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsdGltZQpzdW1tYXJ5OiAnRXN0aW1hdGUgVHJhdmVsIFRpbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVzdGltYXRlIHRoZSBkdXJhdGlvbiBvZiBhIHNoaXAgdHJhdmVsaW5nIHdpdGhvdXQgY29tbWl0dGluZyB0byB0aGUgYWN0aW9uLgoKLS0tAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQUAAAAAAMquQQNpNjQAAAljYXJnb19yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAACk2lrcIDaTY0AAAMc2VxdWVuY2Vfcm93AAAAAABQXcMDaTY0AAAIc2hpcF9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAABQAAAAAA0LBpC2NoZWNrc3VtMjU2AAAAQITSsGkLY2hlY2tzdW01MTIAFHK3ZgWvkQpnb29kX3ByaWNlgBVyt2YFr5EMZ29vZF9wcmljZVtdAICSLke1zc0OdHJhdmVsX3N1bW1hcnk=');
|
|
112
209
|
const abi = ABI.from(abiBlob);
|
|
113
210
|
var Types;
|
|
114
211
|
(function (Types) {
|
|
115
212
|
let advance = class advance extends Struct {
|
|
116
213
|
};
|
|
214
|
+
__decorate([
|
|
215
|
+
Struct.field('string')
|
|
216
|
+
], advance.prototype, "reveal", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
Struct.field(Checksum256)
|
|
219
|
+
], advance.prototype, "commit", void 0);
|
|
117
220
|
advance = __decorate([
|
|
118
221
|
Struct.type('advance')
|
|
119
222
|
], advance);
|
|
@@ -157,10 +260,10 @@ var Types;
|
|
|
157
260
|
Struct.field(UInt64)
|
|
158
261
|
], cargo_row.prototype, "good_id", void 0);
|
|
159
262
|
__decorate([
|
|
160
|
-
Struct.field(
|
|
263
|
+
Struct.field(UInt16)
|
|
161
264
|
], cargo_row.prototype, "quantity", void 0);
|
|
162
265
|
__decorate([
|
|
163
|
-
Struct.field(
|
|
266
|
+
Struct.field(UInt16)
|
|
164
267
|
], cargo_row.prototype, "loaded", void 0);
|
|
165
268
|
cargo_row = __decorate([
|
|
166
269
|
Struct.type('cargo_row')
|
|
@@ -181,6 +284,15 @@ var Types;
|
|
|
181
284
|
Struct.type('cleartable')
|
|
182
285
|
], cleartable);
|
|
183
286
|
Types.cleartable = cleartable;
|
|
287
|
+
let commit = class commit extends Struct {
|
|
288
|
+
};
|
|
289
|
+
__decorate([
|
|
290
|
+
Struct.field(Checksum256)
|
|
291
|
+
], commit.prototype, "commit", void 0);
|
|
292
|
+
commit = __decorate([
|
|
293
|
+
Struct.type('commit')
|
|
294
|
+
], commit);
|
|
295
|
+
Types.commit = commit;
|
|
184
296
|
let coordinates = class coordinates extends Struct {
|
|
185
297
|
};
|
|
186
298
|
__decorate([
|
|
@@ -202,18 +314,6 @@ var Types;
|
|
|
202
314
|
Struct.type('enable')
|
|
203
315
|
], enable);
|
|
204
316
|
Types.enable = enable;
|
|
205
|
-
let esttravel = class esttravel extends Struct {
|
|
206
|
-
};
|
|
207
|
-
__decorate([
|
|
208
|
-
Struct.field(UInt64)
|
|
209
|
-
], esttravel.prototype, "id", void 0);
|
|
210
|
-
__decorate([
|
|
211
|
-
Struct.field(coordinates)
|
|
212
|
-
], esttravel.prototype, "destination", void 0);
|
|
213
|
-
esttravel = __decorate([
|
|
214
|
-
Struct.type('esttravel')
|
|
215
|
-
], esttravel);
|
|
216
|
-
Types.esttravel = esttravel;
|
|
217
317
|
let good_price = class good_price extends Struct {
|
|
218
318
|
};
|
|
219
319
|
__decorate([
|
|
@@ -235,14 +335,20 @@ var Types;
|
|
|
235
335
|
Struct.type('hash')
|
|
236
336
|
], hash);
|
|
237
337
|
Types.hash = hash;
|
|
338
|
+
let hash512 = class hash512 extends Struct {
|
|
339
|
+
};
|
|
340
|
+
__decorate([
|
|
341
|
+
Struct.field('string')
|
|
342
|
+
], hash512.prototype, "value", void 0);
|
|
343
|
+
hash512 = __decorate([
|
|
344
|
+
Struct.type('hash512')
|
|
345
|
+
], hash512);
|
|
346
|
+
Types.hash512 = hash512;
|
|
238
347
|
let init = class init extends Struct {
|
|
239
348
|
};
|
|
240
349
|
__decorate([
|
|
241
350
|
Struct.field(Checksum256)
|
|
242
351
|
], init.prototype, "seed", void 0);
|
|
243
|
-
__decorate([
|
|
244
|
-
Struct.field(Checksum256)
|
|
245
|
-
], init.prototype, "epochseed", void 0);
|
|
246
352
|
init = __decorate([
|
|
247
353
|
Struct.type('init')
|
|
248
354
|
], init);
|
|
@@ -258,9 +364,6 @@ var Types;
|
|
|
258
364
|
Types.join = join;
|
|
259
365
|
let loader_stats = class loader_stats extends Struct {
|
|
260
366
|
};
|
|
261
|
-
__decorate([
|
|
262
|
-
Struct.field(UInt16)
|
|
263
|
-
], loader_stats.prototype, "capacity", void 0);
|
|
264
367
|
__decorate([
|
|
265
368
|
Struct.field(UInt32)
|
|
266
369
|
], loader_stats.prototype, "mass", void 0);
|
|
@@ -310,6 +413,15 @@ var Types;
|
|
|
310
413
|
Struct.type('player_row')
|
|
311
414
|
], player_row);
|
|
312
415
|
Types.player_row = player_row;
|
|
416
|
+
let salt = class salt extends Struct {
|
|
417
|
+
};
|
|
418
|
+
__decorate([
|
|
419
|
+
Struct.field(UInt64)
|
|
420
|
+
], salt.prototype, "salt", void 0);
|
|
421
|
+
salt = __decorate([
|
|
422
|
+
Struct.type('salt')
|
|
423
|
+
], salt);
|
|
424
|
+
Types.salt = salt;
|
|
313
425
|
let sellgoods = class sellgoods extends Struct {
|
|
314
426
|
};
|
|
315
427
|
__decorate([
|
|
@@ -429,19 +541,40 @@ var Types;
|
|
|
429
541
|
__decorate([
|
|
430
542
|
Struct.field(UInt64)
|
|
431
543
|
], state_row.prototype, "epoch", void 0);
|
|
544
|
+
__decorate([
|
|
545
|
+
Struct.field(UInt64)
|
|
546
|
+
], state_row.prototype, "salt", void 0);
|
|
432
547
|
__decorate([
|
|
433
548
|
Struct.field(Checksum256)
|
|
434
|
-
], state_row.prototype, "
|
|
549
|
+
], state_row.prototype, "seed", void 0);
|
|
550
|
+
__decorate([
|
|
551
|
+
Struct.field(Checksum256)
|
|
552
|
+
], state_row.prototype, "commit", void 0);
|
|
435
553
|
__decorate([
|
|
436
554
|
Struct.field(BlockTimestamp)
|
|
437
555
|
], state_row.prototype, "genesis", void 0);
|
|
438
|
-
__decorate([
|
|
439
|
-
Struct.field(Checksum256)
|
|
440
|
-
], state_row.prototype, "seed", void 0);
|
|
441
556
|
state_row = __decorate([
|
|
442
557
|
Struct.type('state_row')
|
|
443
558
|
], state_row);
|
|
444
559
|
Types.state_row = state_row;
|
|
560
|
+
let travel = class travel extends Struct {
|
|
561
|
+
};
|
|
562
|
+
__decorate([
|
|
563
|
+
Struct.field(Name)
|
|
564
|
+
], travel.prototype, "owner", void 0);
|
|
565
|
+
__decorate([
|
|
566
|
+
Struct.field(UInt64)
|
|
567
|
+
], travel.prototype, "id", void 0);
|
|
568
|
+
__decorate([
|
|
569
|
+
Struct.field(coordinates)
|
|
570
|
+
], travel.prototype, "destination", void 0);
|
|
571
|
+
__decorate([
|
|
572
|
+
Struct.field('bool')
|
|
573
|
+
], travel.prototype, "recharge", void 0);
|
|
574
|
+
travel = __decorate([
|
|
575
|
+
Struct.type('travel')
|
|
576
|
+
], travel);
|
|
577
|
+
Types.travel = travel;
|
|
445
578
|
let travel_summary = class travel_summary extends Struct {
|
|
446
579
|
};
|
|
447
580
|
__decorate([
|
|
@@ -484,45 +617,18 @@ var Types;
|
|
|
484
617
|
Struct.type('travel_summary')
|
|
485
618
|
], travel_summary);
|
|
486
619
|
Types.travel_summary = travel_summary;
|
|
487
|
-
let
|
|
488
|
-
};
|
|
489
|
-
__decorate([
|
|
490
|
-
Struct.field(Name)
|
|
491
|
-
], summary_row.prototype, "key", void 0);
|
|
492
|
-
__decorate([
|
|
493
|
-
Struct.field(travel_summary)
|
|
494
|
-
], summary_row.prototype, "value", void 0);
|
|
495
|
-
summary_row = __decorate([
|
|
496
|
-
Struct.type('summary_row')
|
|
497
|
-
], summary_row);
|
|
498
|
-
Types.summary_row = summary_row;
|
|
499
|
-
let test = class test extends Struct {
|
|
500
|
-
};
|
|
501
|
-
__decorate([
|
|
502
|
-
Struct.field('string')
|
|
503
|
-
], test.prototype, "data", void 0);
|
|
504
|
-
test = __decorate([
|
|
505
|
-
Struct.type('test')
|
|
506
|
-
], test);
|
|
507
|
-
Types.test = test;
|
|
508
|
-
let travel = class travel extends Struct {
|
|
620
|
+
let traveltime = class traveltime extends Struct {
|
|
509
621
|
};
|
|
510
|
-
__decorate([
|
|
511
|
-
Struct.field(Name)
|
|
512
|
-
], travel.prototype, "owner", void 0);
|
|
513
622
|
__decorate([
|
|
514
623
|
Struct.field(UInt64)
|
|
515
|
-
],
|
|
624
|
+
], traveltime.prototype, "id", void 0);
|
|
516
625
|
__decorate([
|
|
517
626
|
Struct.field(coordinates)
|
|
518
|
-
],
|
|
519
|
-
__decorate([
|
|
520
|
-
Struct.
|
|
521
|
-
],
|
|
522
|
-
|
|
523
|
-
Struct.type('travel')
|
|
524
|
-
], travel);
|
|
525
|
-
Types.travel = travel;
|
|
627
|
+
], traveltime.prototype, "destination", void 0);
|
|
628
|
+
traveltime = __decorate([
|
|
629
|
+
Struct.type('traveltime')
|
|
630
|
+
], traveltime);
|
|
631
|
+
Types.traveltime = traveltime;
|
|
526
632
|
let wipe = class wipe extends Struct {
|
|
527
633
|
};
|
|
528
634
|
wipe = __decorate([
|
|
@@ -536,7 +642,6 @@ const TableMap = {
|
|
|
536
642
|
sequence: Types.sequence_row,
|
|
537
643
|
ship: Types.ship_row,
|
|
538
644
|
state: Types.state_row,
|
|
539
|
-
summary: Types.summary_row,
|
|
540
645
|
};
|
|
541
646
|
class Contract extends Contract$2 {
|
|
542
647
|
constructor(args) {
|
|
@@ -566,12 +671,20 @@ var server = /*#__PURE__*/Object.freeze({
|
|
|
566
671
|
Contract: Contract
|
|
567
672
|
});
|
|
568
673
|
|
|
674
|
+
async function getCurrentEpoch(game, state) {
|
|
675
|
+
const current = new Date().getTime();
|
|
676
|
+
const difference = (current - state.genesis.toDate().getTime()) / 1000;
|
|
677
|
+
const epoch = Math.floor(difference / Number(game.config.epochtime)) + 1;
|
|
678
|
+
return epoch;
|
|
679
|
+
}
|
|
680
|
+
|
|
569
681
|
function hash(seed, string) {
|
|
570
682
|
const bytes = Bytes.from(`${seed}${string}`, 'utf8');
|
|
571
|
-
return
|
|
683
|
+
return Checksum256.hash(bytes);
|
|
572
684
|
}
|
|
573
|
-
function
|
|
574
|
-
|
|
685
|
+
function hash512(seed, string) {
|
|
686
|
+
const bytes = Bytes.from(`${seed}${string}`, 'utf8');
|
|
687
|
+
return Checksum512.hash(bytes);
|
|
575
688
|
}
|
|
576
689
|
|
|
577
690
|
function distanceTraveled(ship) {
|
|
@@ -600,7 +713,7 @@ function rotation(origin, destination) {
|
|
|
600
713
|
}
|
|
601
714
|
function hasPlanet(seed, coordinates) {
|
|
602
715
|
const str = ['system', coordinates.x, coordinates.y].join('-');
|
|
603
|
-
return String(
|
|
716
|
+
return String(hash512(seed, str)).slice(0, 2) === '00';
|
|
604
717
|
}
|
|
605
718
|
function findNearbyPlanets(seed, origin, maxDistance = 20) {
|
|
606
719
|
const nearbySystems = [];
|
|
@@ -735,8 +848,8 @@ function getGood(good_id) {
|
|
|
735
848
|
}
|
|
736
849
|
|
|
737
850
|
function roll(game_seed, roll_seed) {
|
|
738
|
-
const
|
|
739
|
-
return (
|
|
851
|
+
const hash = hash512(game_seed, roll_seed);
|
|
852
|
+
return (hash.array[0] << 8) | hash.array[1];
|
|
740
853
|
}
|
|
741
854
|
|
|
742
855
|
async function marketprice(location, good_id, gameSeed, epochSeed) {
|
|
@@ -801,22 +914,44 @@ const INSUFFICIENT_GOOD_QUANTITY = 'Insufficient good quantity';
|
|
|
801
914
|
const REQUIRES_MORE_THAN_ONE = 'Requires more than one';
|
|
802
915
|
|
|
803
916
|
class Shipload {
|
|
804
|
-
constructor(chain, { client, serverContract }) {
|
|
917
|
+
constructor(chain, { client, platformContract, serverContract }) {
|
|
805
918
|
this.client = client || new APIClient({ url: chain.url });
|
|
919
|
+
this.platform = platformContract
|
|
920
|
+
? platformContract
|
|
921
|
+
: new Contract$1({ client: this.client });
|
|
806
922
|
this.server = serverContract
|
|
807
923
|
? serverContract
|
|
808
924
|
: new Contract({ client: this.client });
|
|
809
925
|
}
|
|
810
926
|
static async load(chain, shiploadOptions) {
|
|
927
|
+
let platform$1 = new Contract$1({
|
|
928
|
+
client: new APIClient({ url: chain.url }),
|
|
929
|
+
});
|
|
930
|
+
if (shiploadOptions.platformContractName) {
|
|
931
|
+
const client = shiploadOptions.client || new APIClient({ url: chain.url });
|
|
932
|
+
const contractKit = new ContractKit({ client });
|
|
933
|
+
platform$1 = await contractKit.load(shiploadOptions.platformContractName);
|
|
934
|
+
}
|
|
811
935
|
let server$1 = new Contract({
|
|
812
936
|
client: new APIClient({ url: chain.url }),
|
|
813
937
|
});
|
|
814
|
-
if (shiploadOptions.
|
|
938
|
+
if (shiploadOptions.serverContractName) {
|
|
815
939
|
const client = shiploadOptions.client || new APIClient({ url: chain.url });
|
|
816
940
|
const contractKit = new ContractKit({ client });
|
|
817
|
-
server$1 = await contractKit.load(shiploadOptions.
|
|
941
|
+
server$1 = await contractKit.load(shiploadOptions.serverContractName);
|
|
942
|
+
}
|
|
943
|
+
return new Shipload(chain, {
|
|
944
|
+
...shiploadOptions,
|
|
945
|
+
platformContract: platform$1,
|
|
946
|
+
serverContract: server$1,
|
|
947
|
+
});
|
|
948
|
+
}
|
|
949
|
+
async getGame() {
|
|
950
|
+
const game = await this.platform.table('games').get();
|
|
951
|
+
if (!game) {
|
|
952
|
+
throw new Error(ERROR_SYSTEM_NOT_INITIALIZED);
|
|
818
953
|
}
|
|
819
|
-
return
|
|
954
|
+
return game;
|
|
820
955
|
}
|
|
821
956
|
async getState() {
|
|
822
957
|
const state = await this.server.table('state').get();
|
|
@@ -826,14 +961,16 @@ class Shipload {
|
|
|
826
961
|
return state;
|
|
827
962
|
}
|
|
828
963
|
async marketprice(location, good_id) {
|
|
829
|
-
const
|
|
830
|
-
|
|
964
|
+
const game = await this.getGame();
|
|
965
|
+
const state = await this.getState();
|
|
966
|
+
return marketprice(location, good_id, game.config.seed, state.seed);
|
|
831
967
|
}
|
|
832
968
|
async marketprices(location) {
|
|
833
|
-
const
|
|
834
|
-
|
|
969
|
+
const game = await this.getGame();
|
|
970
|
+
const state = await this.getState();
|
|
971
|
+
return marketprices(location, game.config.seed, state.seed);
|
|
835
972
|
}
|
|
836
973
|
}
|
|
837
974
|
|
|
838
|
-
export { ERROR_SYSTEM_NOT_INITIALIZED, GOOD_DOES_NOT_EXIST, GOOD_NOT_AVAILABLE_AT_LOCATION, INSUFFICIENT_BALANCE, INSUFFICIENT_GOOD_QUANTITY, PLAYER_NOT_FOUND, platform as PlatformContract, REQUIRES_MORE_THAN_ONE, SHIP_CANNOT_BUY_TRAVELING, SHIP_NOT_FOUND, server as ServerContract, Shipload as default, distanceBetweenCoordinates, distanceBetweenPoints, distanceTraveled, findNearbyPlanets, getGood, goods, hasPlanet, hash,
|
|
975
|
+
export { ERROR_SYSTEM_NOT_INITIALIZED, GOOD_DOES_NOT_EXIST, GOOD_NOT_AVAILABLE_AT_LOCATION, INSUFFICIENT_BALANCE, INSUFFICIENT_GOOD_QUANTITY, PLAYER_NOT_FOUND, platform as PlatformContract, REQUIRES_MORE_THAN_ONE, SHIP_CANNOT_BUY_TRAVELING, SHIP_NOT_FOUND, server as ServerContract, Shipload as default, distanceBetweenCoordinates, distanceBetweenPoints, distanceTraveled, findNearbyPlanets, getCurrentEpoch, getGood, goods, hasPlanet, hash, hash512, lerp, marketprice, marketprices, priceFromRoll, rotation };
|
|
839
976
|
//# sourceMappingURL=shipload.m.js.map
|