@shipload/sdk 0.3.0 → 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 +136 -58
- package/lib/shipload.js +238 -95
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +237 -96
- 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 +44 -21
- package/src/types.ts +4 -3
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);
|
|
547
|
+
__decorate([
|
|
548
|
+
Struct.field(Checksum256)
|
|
549
|
+
], state_row.prototype, "seed", void 0);
|
|
432
550
|
__decorate([
|
|
433
551
|
Struct.field(Checksum256)
|
|
434
|
-
], state_row.prototype, "
|
|
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 {
|
|
620
|
+
let traveltime = class traveltime extends Struct {
|
|
500
621
|
};
|
|
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 {
|
|
509
|
-
};
|
|
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) {
|
|
@@ -581,36 +694,40 @@ function distanceTraveled(ship) {
|
|
|
581
694
|
}
|
|
582
695
|
return 0;
|
|
583
696
|
}
|
|
697
|
+
function distanceBetweenCoordinates(origin, destination) {
|
|
698
|
+
return distanceBetweenPoints(origin.x, origin.y, destination.x, destination.y);
|
|
699
|
+
}
|
|
584
700
|
function distanceBetweenPoints(x1, y1, x2, y2) {
|
|
585
701
|
const x = Math.pow(x1 - x2, 2);
|
|
586
702
|
const y = Math.pow(y1 - y2, 2);
|
|
587
|
-
return Math.sqrt(x + y);
|
|
703
|
+
return UInt16.from(Math.sqrt(x + y));
|
|
588
704
|
}
|
|
589
705
|
function lerp(origin, destination, time) {
|
|
590
706
|
return {
|
|
591
|
-
x: (1 - time) * origin.x + time * destination.x,
|
|
592
|
-
y: (1 - time) * origin.y + time * destination.y,
|
|
707
|
+
x: (1 - time) * Number(origin.x) + time * Number(destination.x),
|
|
708
|
+
y: (1 - time) * Number(origin.y) + time * Number(destination.y),
|
|
593
709
|
};
|
|
594
710
|
}
|
|
595
711
|
function rotation(origin, destination) {
|
|
596
712
|
return Math.atan2(destination.y - origin.y, destination.x - origin.x) * (180 / Math.PI) + 90;
|
|
597
713
|
}
|
|
598
|
-
function hasPlanet(seed,
|
|
599
|
-
const str = ['system',
|
|
600
|
-
return String(
|
|
714
|
+
function hasPlanet(seed, coordinates) {
|
|
715
|
+
const str = ['system', coordinates.x, coordinates.y].join('-');
|
|
716
|
+
return String(hash512(seed, str)).slice(0, 2) === '00';
|
|
601
717
|
}
|
|
602
718
|
function findNearbyPlanets(seed, origin, maxDistance = 20) {
|
|
603
719
|
const nearbySystems = [];
|
|
604
|
-
const
|
|
605
|
-
const
|
|
606
|
-
const
|
|
607
|
-
const
|
|
608
|
-
|
|
609
|
-
|
|
720
|
+
const max = UInt16.from(maxDistance);
|
|
721
|
+
const xMin = Int64.from(origin.x).subtracting(max);
|
|
722
|
+
const xMax = Int64.from(origin.x).adding(max);
|
|
723
|
+
const yMin = Int64.from(origin.y).subtracting(max);
|
|
724
|
+
const yMax = Int64.from(origin.y).adding(max);
|
|
725
|
+
for (let x = Number(xMin); x <= Number(xMax); x++) {
|
|
726
|
+
for (let y = Number(yMin); y <= Number(yMax); y++) {
|
|
610
727
|
const samePlace = x === origin.x && y === origin.y;
|
|
611
728
|
if (!samePlace) {
|
|
612
729
|
const distance = distanceBetweenPoints(origin.x, origin.y, x, y);
|
|
613
|
-
if (distance <=
|
|
730
|
+
if (Number(distance) <= Number(max)) {
|
|
614
731
|
const system = hasPlanet(seed, { x, y });
|
|
615
732
|
if (system) {
|
|
616
733
|
nearbySystems.push({ origin, destination: { x, y }, distance });
|
|
@@ -731,8 +848,8 @@ function getGood(good_id) {
|
|
|
731
848
|
}
|
|
732
849
|
|
|
733
850
|
function roll(game_seed, roll_seed) {
|
|
734
|
-
const
|
|
735
|
-
return (
|
|
851
|
+
const hash = hash512(game_seed, roll_seed);
|
|
852
|
+
return (hash.array[0] << 8) | hash.array[1];
|
|
736
853
|
}
|
|
737
854
|
|
|
738
855
|
async function marketprice(location, good_id, gameSeed, epochSeed) {
|
|
@@ -797,22 +914,44 @@ const INSUFFICIENT_GOOD_QUANTITY = 'Insufficient good quantity';
|
|
|
797
914
|
const REQUIRES_MORE_THAN_ONE = 'Requires more than one';
|
|
798
915
|
|
|
799
916
|
class Shipload {
|
|
800
|
-
constructor(chain, { client, serverContract }) {
|
|
917
|
+
constructor(chain, { client, platformContract, serverContract }) {
|
|
801
918
|
this.client = client || new APIClient({ url: chain.url });
|
|
919
|
+
this.platform = platformContract
|
|
920
|
+
? platformContract
|
|
921
|
+
: new Contract$1({ client: this.client });
|
|
802
922
|
this.server = serverContract
|
|
803
923
|
? serverContract
|
|
804
924
|
: new Contract({ client: this.client });
|
|
805
925
|
}
|
|
806
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
|
+
}
|
|
807
935
|
let server$1 = new Contract({
|
|
808
936
|
client: new APIClient({ url: chain.url }),
|
|
809
937
|
});
|
|
810
|
-
if (shiploadOptions.
|
|
938
|
+
if (shiploadOptions.serverContractName) {
|
|
811
939
|
const client = shiploadOptions.client || new APIClient({ url: chain.url });
|
|
812
940
|
const contractKit = new ContractKit({ client });
|
|
813
|
-
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);
|
|
814
953
|
}
|
|
815
|
-
return
|
|
954
|
+
return game;
|
|
816
955
|
}
|
|
817
956
|
async getState() {
|
|
818
957
|
const state = await this.server.table('state').get();
|
|
@@ -822,14 +961,16 @@ class Shipload {
|
|
|
822
961
|
return state;
|
|
823
962
|
}
|
|
824
963
|
async marketprice(location, good_id) {
|
|
825
|
-
const
|
|
826
|
-
|
|
964
|
+
const game = await this.getGame();
|
|
965
|
+
const state = await this.getState();
|
|
966
|
+
return marketprice(location, good_id, game.config.seed, state.seed);
|
|
827
967
|
}
|
|
828
968
|
async marketprices(location) {
|
|
829
|
-
const
|
|
830
|
-
|
|
969
|
+
const game = await this.getGame();
|
|
970
|
+
const state = await this.getState();
|
|
971
|
+
return marketprices(location, game.config.seed, state.seed);
|
|
831
972
|
}
|
|
832
973
|
}
|
|
833
974
|
|
|
834
|
-
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, 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 };
|
|
835
976
|
//# sourceMappingURL=shipload.m.js.map
|