@shipload/sdk 0.3.1 → 0.3.3

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.js CHANGED
@@ -10,7 +10,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var ContractKit__default = /*#__PURE__*/_interopDefaultLegacy(ContractKit);
12
12
 
13
- const abiBlob$1 = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yAAcKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxmb3VuZGNvbXBhbnkAAgdhY2NvdW50BG5hbWUEbmFtZQZzdHJpbmcJc3RhdGVfcm93AAEHZW5hYmxlZARib29sBHRlc3QAAQRkYXRhBnN0cmluZwR3aXBlAAAFAICKx+RrVEQKY2xlYXJ0YWJsZQAAAAAAqHjMVAZlbmFibGXzAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ0VuYWJsZS9kaXNhYmxlIHBsYXRmb3JtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHBsYXRmb3JtIGNvbnRyYWN0LuCnqZKiNDVdDGZvdW5kY29tcGFueYMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZvdW5kY29tcGFueQpzdW1tYXJ5OiAnRm91bmQgYSBuZXcgY29tcGFueScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkZvdW5kIGEgbmV3IGNvbXBhbnkgaW4gdGhlIFNoaXBsb2FkIHBsYXRmb3JtIGNvbnRyYWN0LgAAAAAAkLHKBHRlc3QAAAAAAACgquMEd2lwZQACAAAAwE9TJUUDaTY0AAALY29tcGFueV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cBE1NoaXBsb2FkIChQbGF0Zm9ybSkTU2hpcGxvYWQgKFBsYXRmb3JtKQAAAAA=');
13
+ const abiBlob$1 = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yAA0KY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAplbmFibGVnYW1lAAIIY29udHJhY3QEbmFtZQdlbmFibGVkBGJvb2wMZm91bmRjb21wYW55AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nC2dhbWVfY29uZmlnAAQEc2VlZAtjaGVja3N1bTI1NgllcG9jaHRpbWUGdWludDMyBXN0YXJ0DnRpbWVfcG9pbnRfc2VjA2VuZA50aW1lX3BvaW50X3NlYwlnYW1lX21ldGEABARuYW1lBnN0cmluZwtkZXNjcmlwdGlvbgZzdHJpbmcDdXJsBnN0cmluZwd2ZXJzaW9uBnN0cmluZwhnYW1lX3JvdwAECGNvbnRyYWN0BG5hbWUGY29uZmlnC2dhbWVfY29uZmlnBG1ldGEJZ2FtZV9tZXRhBXN0YXRlCmdhbWVfc3RhdGUKZ2FtZV9zdGF0ZQABB2VuYWJsZWQEYm9vbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAHAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAACoeMxUBmVuYWJsZfMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2FibGUgcGxhdGZvcm0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGxhdGZvcm0gY29udHJhY3QuAICShql4zFQKZW5hYmxlZ2FtZfwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZWdhbWUKc3VtbWFyeTogJ0VuYWJsZS9kaXNiYWJsZSBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3Qu4KepkqI0NV0MZm91bmRjb21wYW55gwItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZm91bmRjb21wYW55CnN1bW1hcnk6ICdGb3VuZCBhIG5ldyBjb21wYW55JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRm91bmQgYSBuZXcgY29tcGFueSBpbiB0aGUgU2hpcGxvYWQgcGxhdGZvcm0gY29udHJhY3QuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AgJKGqWxS1Qp1cGRhdGVnYW1ljQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdXBkYXRlZ2FtZQpzdW1tYXJ5OiAnVXBkYXRlIGdhbWUgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpVcGRhdGUgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0DAAAAwE9TJUUDaTY0AAALY29tcGFueV9yb3cAAAAAAKykYQNpNjQAAAhnYW1lX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
14
14
  const abi$1 = antelope.ABI.from(abiBlob$1);
15
15
  var Types$1;
16
16
  (function (Types) {
@@ -50,6 +50,18 @@ var Types$1;
50
50
  antelope.Struct.type('enable')
51
51
  ], enable);
52
52
  Types.enable = enable;
53
+ let enablegame = class enablegame extends antelope.Struct {
54
+ };
55
+ tslib.__decorate([
56
+ antelope.Struct.field(antelope.Name)
57
+ ], enablegame.prototype, "contract", void 0);
58
+ tslib.__decorate([
59
+ antelope.Struct.field('bool')
60
+ ], enablegame.prototype, "enabled", void 0);
61
+ enablegame = tslib.__decorate([
62
+ antelope.Struct.type('enablegame')
63
+ ], enablegame);
64
+ Types.enablegame = enablegame;
53
65
  let foundcompany = class foundcompany extends antelope.Struct {
54
66
  };
55
67
  tslib.__decorate([
@@ -62,6 +74,87 @@ var Types$1;
62
74
  antelope.Struct.type('foundcompany')
63
75
  ], foundcompany);
64
76
  Types.foundcompany = foundcompany;
77
+ let game_config = class game_config extends antelope.Struct {
78
+ };
79
+ tslib.__decorate([
80
+ antelope.Struct.field(antelope.Checksum256)
81
+ ], game_config.prototype, "seed", void 0);
82
+ tslib.__decorate([
83
+ antelope.Struct.field(antelope.UInt32)
84
+ ], game_config.prototype, "epochtime", void 0);
85
+ tslib.__decorate([
86
+ antelope.Struct.field(antelope.TimePointSec)
87
+ ], game_config.prototype, "start", void 0);
88
+ tslib.__decorate([
89
+ antelope.Struct.field(antelope.TimePointSec)
90
+ ], game_config.prototype, "end", void 0);
91
+ game_config = tslib.__decorate([
92
+ antelope.Struct.type('game_config')
93
+ ], game_config);
94
+ Types.game_config = game_config;
95
+ let game_meta = class game_meta extends antelope.Struct {
96
+ };
97
+ tslib.__decorate([
98
+ antelope.Struct.field('string')
99
+ ], game_meta.prototype, "name", void 0);
100
+ tslib.__decorate([
101
+ antelope.Struct.field('string')
102
+ ], game_meta.prototype, "description", void 0);
103
+ tslib.__decorate([
104
+ antelope.Struct.field('string')
105
+ ], game_meta.prototype, "url", void 0);
106
+ tslib.__decorate([
107
+ antelope.Struct.field('string')
108
+ ], game_meta.prototype, "version", void 0);
109
+ game_meta = tslib.__decorate([
110
+ antelope.Struct.type('game_meta')
111
+ ], game_meta);
112
+ Types.game_meta = game_meta;
113
+ let game_state = class game_state extends antelope.Struct {
114
+ };
115
+ tslib.__decorate([
116
+ antelope.Struct.field('bool')
117
+ ], game_state.prototype, "enabled", void 0);
118
+ game_state = tslib.__decorate([
119
+ antelope.Struct.type('game_state')
120
+ ], game_state);
121
+ Types.game_state = game_state;
122
+ let game_row = class game_row extends antelope.Struct {
123
+ };
124
+ tslib.__decorate([
125
+ antelope.Struct.field(antelope.Name)
126
+ ], game_row.prototype, "contract", void 0);
127
+ tslib.__decorate([
128
+ antelope.Struct.field(game_config)
129
+ ], game_row.prototype, "config", void 0);
130
+ tslib.__decorate([
131
+ antelope.Struct.field(game_meta)
132
+ ], game_row.prototype, "meta", void 0);
133
+ tslib.__decorate([
134
+ antelope.Struct.field(game_state)
135
+ ], game_row.prototype, "state", void 0);
136
+ game_row = tslib.__decorate([
137
+ antelope.Struct.type('game_row')
138
+ ], game_row);
139
+ Types.game_row = game_row;
140
+ let startgame = class startgame extends antelope.Struct {
141
+ };
142
+ tslib.__decorate([
143
+ antelope.Struct.field(antelope.Name)
144
+ ], startgame.prototype, "contract", void 0);
145
+ tslib.__decorate([
146
+ antelope.Struct.field(game_config)
147
+ ], startgame.prototype, "config", void 0);
148
+ tslib.__decorate([
149
+ antelope.Struct.field(game_meta)
150
+ ], startgame.prototype, "meta", void 0);
151
+ tslib.__decorate([
152
+ antelope.Struct.field(game_state)
153
+ ], startgame.prototype, "state", void 0);
154
+ startgame = tslib.__decorate([
155
+ antelope.Struct.type('startgame')
156
+ ], startgame);
157
+ Types.startgame = startgame;
65
158
  let state_row = class state_row extends antelope.Struct {
66
159
  };
67
160
  tslib.__decorate([
@@ -71,15 +164,18 @@ var Types$1;
71
164
  antelope.Struct.type('state_row')
72
165
  ], state_row);
73
166
  Types.state_row = state_row;
74
- let test = class test extends antelope.Struct {
167
+ let updategame = class updategame extends antelope.Struct {
75
168
  };
76
169
  tslib.__decorate([
77
- antelope.Struct.field('string')
78
- ], test.prototype, "data", void 0);
79
- test = tslib.__decorate([
80
- antelope.Struct.type('test')
81
- ], test);
82
- Types.test = test;
170
+ antelope.Struct.field(antelope.Name)
171
+ ], updategame.prototype, "contract", void 0);
172
+ tslib.__decorate([
173
+ antelope.Struct.field(game_meta)
174
+ ], updategame.prototype, "meta", void 0);
175
+ updategame = tslib.__decorate([
176
+ antelope.Struct.type('updategame')
177
+ ], updategame);
178
+ Types.updategame = updategame;
83
179
  let wipe = class wipe extends antelope.Struct {
84
180
  };
85
181
  wipe = tslib.__decorate([
@@ -89,6 +185,7 @@ var Types$1;
89
185
  })(Types$1 || (Types$1 = {}));
90
186
  const TableMap$1 = {
91
187
  company: Types$1.company_row,
188
+ games: Types$1.game_row,
92
189
  state: Types$1.state_row,
93
190
  };
94
191
  class Contract$1 extends ContractKit.Contract {
@@ -116,12 +213,18 @@ var platform = /*#__PURE__*/Object.freeze({
116
213
  Contract: Contract$1
117
214
  });
118
215
 
119
- const abiBlob = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yABwHYWR2YW5jZQAABmFycml2ZQACBW93bmVyBG5hbWUCaWQGdWludDY0CGJ1eWdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0CWNhcmdvX3JvdwAFAmlkBnVpbnQ2NAdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQGbG9hZGVkBnVpbnQ2NApjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8LY29vcmRpbmF0ZXMAAgF4BWludDY0AXkFaW50NjQGZW5hYmxlAAEHZW5hYmxlZARib29sCWVzdHRyYXZlbAACAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwpnb29kX3ByaWNlAAICaWQGdWludDE2BXByaWNlBnVpbnQ2NARoYXNoAAEFdmFsdWUGc3RyaW5nBGluaXQAAgRzZWVkC2NoZWNrc3VtMjU2CWVwb2Noc2VlZAtjaGVja3N1bTI1NgRqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwAECGNhcGFjaXR5BnVpbnQxNgRtYXNzBnVpbnQzMghxdWFudGl0eQZ1aW50MTYGdGhydXN0BnVpbnQzMgttYXJrZXRwcmljZQACCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB2dvb2RfaWQGdWludDE2DG1hcmtldHByaWNlcwABCGxvY2F0aW9uC2Nvb3JkaW5hdGVzCnBsYXllcl9yb3cAAwVvd25lcgRuYW1lB2JhbGFuY2UGdWludDY0BGRlYnQGdWludDY0CXNlbGxnb29kcwADB3NoaXBfaWQGdWludDY0B2dvb2RfaWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQIc2hpcF9yb3cACgJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwhsb2NhdGlvbgtjb29yZGluYXRlcwRza2luBXVpbnQ4BHRpZXIFdWludDgFc3RhdGUKc2hpcF9zdGF0ZQVzdGF0cwpzaGlwX3N0YXRzB2xvYWRlcnMMbG9hZGVyX3N0YXRzCnRyYXZlbHBsYW4MdHJhdmVsX3BsYW4/CnNoaXBfc3RhdGUAAQZlbmVyZ3kGdWludDMyCnNoaXBfc3RhdHMABghjYXBhY2l0eQZ1aW50MzIFZHJhaW4GdWludDMyBG1hc3MGdWludDY0BW9yYml0BnVpbnQxNghyZWNoYXJnZQZ1aW50MzIGdGhydXN0BnVpbnQ2NAlzdGF0ZV9yb3cABQdlbmFibGVkBGJvb2wFZXBvY2gGdWludDY0CWVwb2Noc2VlZAtjaGVja3N1bTI1NgdnZW5lc2lzFGJsb2NrX3RpbWVzdGFtcF90eXBlBHNlZWQLY2hlY2tzdW0yNTYLc3VtbWFyeV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQ50cmF2ZWxfc3VtbWFyeQR0ZXN0AAEEZGF0YQZzdHJpbmcGdHJhdmVsAAQFb3duZXIEbmFtZQJpZAZ1aW50NjQLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMIcmVjaGFyZ2UEYm9vbAt0cmF2ZWxfcGxhbgADC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCWRlcGFydHVyZQp0aW1lX3BvaW50CGR1cmF0aW9uBnVpbnQzMg50cmF2ZWxfc3VtbWFyeQAMBXN0YXRzCnNoaXBfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMGb3JpZ2luC2Nvb3JkaW5hdGVzC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCGRpc3RhbmNlBnVpbnQ2NAl0b3RhbG1hc3MGdWludDY0DGFjY2VsZXJhdGlvbgZ1aW50NjQKZmxpZ2h0dGltZQZ1aW50NjQLZW5lcmd5dXNhZ2UGdWludDY0DHJlY2hhcmdldGltZQZ1aW50NjQIbG9hZHRpbWUGdWludDY0BHRpbWUGdWludDY0BHdpcGUAAA8AAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAKjt7jUGYXJyaXZlswItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYXJyaXZlCnN1bW1hcnk6ICdDb21wbGV0ZSB0cmF2ZWwnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbXBsZXRlIHRoZSB0cmF2ZWwgb2YgYSBzaGlwIGJ5IHVwZGF0aW5nIGl0cyBsb2NhdGlvbiB0byB0aGUgZGVzdGluYXRpb24gY29vcmRpbmF0ZXMgYWZ0ZXIgdGhlIHRyYXZlbCBkdXJhdGlvbiBoYXMgcGFzc2VkLgoKLS0tAAAAOFHKvD4IYnV5Z29vZHPdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBidXlnb29kcwpzdW1tYXJ5OiAnQnV5IGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBnb29kcyBhbmQgYWRkIHRoZW0gdG8gYSBzaGlwJ3MgY2FyZ28uAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAACoeMxUBmVuYWJsZeIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4KCi0tLQAAiGqbmzNWCWVzdHRyYXZlbAAAAAAAANCwaQRoYXNo6gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgZXBvY2hzZWVkIHZhbHVlcyB0byBib290c3RyYXAgZ2FtZSBzdGF0ZS4AAAAAADAdfQRqb2luyQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogam9pbgpzdW1tYXJ5OiAnSm9pbiBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkpvaW4gYSBnYW1lIG9mIFNoaXBsb2FkCgotLS0AFHK3ZgWvkQttYXJrZXRwcmljZZsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG1hcmtldHByaWNlCnN1bW1hcnk6ICdHZXQgcHJpY2Ugb2YgZ29vZCBhdCBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGEgc3BlY2lmaWVkIGdvb2QgYXQgYSBnaXZlbiBsb2NhdGlvbi4KCi0tLYAVcrdmBa+RDG1hcmtldHByaWNlc5UCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG1hcmtldHByaWNlcwpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGFsbCBnb29kcyBhdCBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBnb29kcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgAAwIlSFqPCCXNlbGxnb29kc9UBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNlbGxnb29kcwpzdW1tYXJ5OiAnU2VsbCBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2VsbCBnb29kcyBmcm9tIGEgc2hpcCdzIGNhcmdvLgoKLS0tAAAAAACQscoEdGVzdLIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRlc3QKc3VtbWFyeTogJ0RFQlVHOiB0ZXN0IGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABEtc3NBnRyYXZlbP0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhIHNoaXAgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0GAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAwF8jpcYDaTY0AAALc3VtbWFyeV9yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAABAAAiGqbmzNWDnRyYXZlbF9zdW1tYXJ5AAAAAADQsGkLY2hlY2tzdW01MTIAFHK3ZgWvkQpnb29kX3ByaWNlgBVyt2YFr5EMZ29vZF9wcmljZVtd');
216
+ const abiBlob = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yAB0HYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BmFycml2ZQACBW93bmVyBG5hbWUCaWQGdWludDY0CGJ1eWdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0CWNhcmdvX3JvdwAFAmlkBnVpbnQ2NAdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50MTYGbG9hZGVkBnVpbnQxNgpjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAEGY29tbWl0C2NoZWNrc3VtMjU2C2Nvb3JkaW5hdGVzAAIBeAVpbnQ2NAF5BWludDY0BmVuYWJsZQABB2VuYWJsZWQEYm9vbApnb29kX3ByaWNlAAICaWQGdWludDE2BXByaWNlBnVpbnQ2NARoYXNoAAEFdmFsdWUGc3RyaW5nB2hhc2g1MTIAAQV2YWx1ZQZzdHJpbmcEaW5pdAABBHNlZWQLY2hlY2tzdW0yNTYEam9pbgABB2FjY291bnQEbmFtZQxsb2FkZXJfc3RhdHMAAwRtYXNzBnVpbnQzMghxdWFudGl0eQZ1aW50MTYGdGhydXN0BnVpbnQzMgttYXJrZXRwcmljZQACCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB2dvb2RfaWQGdWludDE2DG1hcmtldHByaWNlcwABCGxvY2F0aW9uC2Nvb3JkaW5hdGVzCnBsYXllcl9yb3cAAwVvd25lcgRuYW1lB2JhbGFuY2UGdWludDY0BGRlYnQGdWludDY0BHNhbHQAAQRzYWx0BnVpbnQ2NAlzZWxsZ29vZHMAAwdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQMc2VxdWVuY2Vfcm93AAIDa2V5BG5hbWUFdmFsdWUGdWludDY0CHNoaXBfcm93AAoCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcIbG9jYXRpb24LY29vcmRpbmF0ZXMEc2tpbgV1aW50OAR0aWVyBXVpbnQ4BXN0YXRlCnNoaXBfc3RhdGUFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwp0cmF2ZWxwbGFuDHRyYXZlbF9wbGFuPwpzaGlwX3N0YXRlAAEGZW5lcmd5BnVpbnQzMgpzaGlwX3N0YXRzAAYIY2FwYWNpdHkGdWludDMyBWRyYWluBnVpbnQzMgRtYXNzBnVpbnQ2NAVvcmJpdAZ1aW50MTYIcmVjaGFyZ2UGdWludDMyBnRocnVzdAZ1aW50NjQJc3RhdGVfcm93AAUHZW5hYmxlZARib29sBWVwb2NoBnVpbnQ2NARzYWx0BnVpbnQ2NARzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgZ0cmF2ZWwABAVvd25lcgRuYW1lAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwhyZWNoYXJnZQRib29sC3RyYXZlbF9wbGFuAAMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMJZGVwYXJ0dXJlCnRpbWVfcG9pbnQIZHVyYXRpb24GdWludDMyDnRyYXZlbF9zdW1tYXJ5AAwFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwZvcmlnaW4LY29vcmRpbmF0ZXMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMIZGlzdGFuY2UGdWludDY0CXRvdGFsbWFzcwZ1aW50NjQMYWNjZWxlcmF0aW9uBnVpbnQ2NApmbGlnaHR0aW1lBnVpbnQ2NAtlbmVyZ3l1c2FnZQZ1aW50NjQMcmVjaGFyZ2V0aW1lBnVpbnQ2NAhsb2FkdGltZQZ1aW50NjQEdGltZQZ1aW50NjQKdHJhdmVsdGltZQACAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwR3aXBlAAARAAAAQKFpdjIHYWR2YW5jZdMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkdmFuY2UKc3VtbWFyeTogJ0FkdmFuY2UgdHVybicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWR2YW5jZSB0aGUgZ2FtZSB0byB0aGUgbmV4dCB0dXJuLgAAAACo7e41BmFycml2ZbMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFycml2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgdHJhdmVsJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21wbGV0ZSB0aGUgdHJhdmVsIG9mIGEgc2hpcCBieSB1cGRhdGluZyBpdHMgbG9jYXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIGFmdGVyIHRoZSB0cmF2ZWwgZHVyYXRpb24gaGFzIHBhc3NlZC4KCi0tLQAAADhRyrw+CGJ1eWdvb2Rz3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYnV5Z29vZHMKc3VtbWFyeTogJ0J1eSBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUHVyY2hhc2UgZ29vZHMgYW5kIGFkZCB0aGVtIHRvIGEgc2hpcCdzIGNhcmdvLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTxAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uCgotLS0AAAAAqHjMVAZlbmFibGXiAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQuCgotLS0AAAAAANCwaQRoYXNo/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgoKLS0tAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0+gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbskBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAoKLS0tABRyt2YFr5ELbWFya2V0cHJpY2WbAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZQpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGdvb2QgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhIHNwZWNpZmllZCBnb29kIGF0IGEgZ2l2ZW4gbG9jYXRpb24uCgotLS2AFXK3ZgWvkQxtYXJrZXRwcmljZXOVAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZXMKc3VtbWFyeTogJ0dldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgYSBnaXZlbiBsb2NhdGlvbi4AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAwIlSFqPCCXNlbGxnb29kc9UBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNlbGxnb29kcwpzdW1tYXJ5OiAnU2VsbCBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2VsbCBnb29kcyBmcm9tIGEgc2hpcCdzIGNhcmdvLgoKLS0tAAAAAES1zc0GdHJhdmVs/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGEgc2hpcCBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgoKLS0tAICSLke1zc0KdHJhdmVsdGltZYwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbHRpbWUKc3VtbWFyeTogJ0VzdGltYXRlIFRyYXZlbCBUaW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFc3RpbWF0ZSB0aGUgZHVyYXRpb24gb2YgYSBzaGlwIHRyYXZlbGluZyB3aXRob3V0IGNvbW1pdHRpbmcgdG8gdGhlIGFjdGlvbi4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0FAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAAUAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyABRyt2YFr5EKZ29vZF9wcmljZYAVcrdmBa+RDGdvb2RfcHJpY2VbXQCAki5Htc3NDnRyYXZlbF9zdW1tYXJ5');
120
217
  const abi = antelope.ABI.from(abiBlob);
121
218
  var Types;
122
219
  (function (Types) {
123
220
  let advance = class advance extends antelope.Struct {
124
221
  };
222
+ tslib.__decorate([
223
+ antelope.Struct.field('string')
224
+ ], advance.prototype, "reveal", void 0);
225
+ tslib.__decorate([
226
+ antelope.Struct.field(antelope.Checksum256)
227
+ ], advance.prototype, "commit", void 0);
125
228
  advance = tslib.__decorate([
126
229
  antelope.Struct.type('advance')
127
230
  ], advance);
@@ -165,10 +268,10 @@ var Types;
165
268
  antelope.Struct.field(antelope.UInt64)
166
269
  ], cargo_row.prototype, "good_id", void 0);
167
270
  tslib.__decorate([
168
- antelope.Struct.field(antelope.UInt64)
271
+ antelope.Struct.field(antelope.UInt16)
169
272
  ], cargo_row.prototype, "quantity", void 0);
170
273
  tslib.__decorate([
171
- antelope.Struct.field(antelope.UInt64)
274
+ antelope.Struct.field(antelope.UInt16)
172
275
  ], cargo_row.prototype, "loaded", void 0);
173
276
  cargo_row = tslib.__decorate([
174
277
  antelope.Struct.type('cargo_row')
@@ -189,6 +292,15 @@ var Types;
189
292
  antelope.Struct.type('cleartable')
190
293
  ], cleartable);
191
294
  Types.cleartable = cleartable;
295
+ let commit = class commit extends antelope.Struct {
296
+ };
297
+ tslib.__decorate([
298
+ antelope.Struct.field(antelope.Checksum256)
299
+ ], commit.prototype, "commit", void 0);
300
+ commit = tslib.__decorate([
301
+ antelope.Struct.type('commit')
302
+ ], commit);
303
+ Types.commit = commit;
192
304
  let coordinates = class coordinates extends antelope.Struct {
193
305
  };
194
306
  tslib.__decorate([
@@ -210,18 +322,6 @@ var Types;
210
322
  antelope.Struct.type('enable')
211
323
  ], enable);
212
324
  Types.enable = enable;
213
- let esttravel = class esttravel extends antelope.Struct {
214
- };
215
- tslib.__decorate([
216
- antelope.Struct.field(antelope.UInt64)
217
- ], esttravel.prototype, "id", void 0);
218
- tslib.__decorate([
219
- antelope.Struct.field(coordinates)
220
- ], esttravel.prototype, "destination", void 0);
221
- esttravel = tslib.__decorate([
222
- antelope.Struct.type('esttravel')
223
- ], esttravel);
224
- Types.esttravel = esttravel;
225
325
  let good_price = class good_price extends antelope.Struct {
226
326
  };
227
327
  tslib.__decorate([
@@ -243,14 +343,20 @@ var Types;
243
343
  antelope.Struct.type('hash')
244
344
  ], hash);
245
345
  Types.hash = hash;
346
+ let hash512 = class hash512 extends antelope.Struct {
347
+ };
348
+ tslib.__decorate([
349
+ antelope.Struct.field('string')
350
+ ], hash512.prototype, "value", void 0);
351
+ hash512 = tslib.__decorate([
352
+ antelope.Struct.type('hash512')
353
+ ], hash512);
354
+ Types.hash512 = hash512;
246
355
  let init = class init extends antelope.Struct {
247
356
  };
248
357
  tslib.__decorate([
249
358
  antelope.Struct.field(antelope.Checksum256)
250
359
  ], init.prototype, "seed", void 0);
251
- tslib.__decorate([
252
- antelope.Struct.field(antelope.Checksum256)
253
- ], init.prototype, "epochseed", void 0);
254
360
  init = tslib.__decorate([
255
361
  antelope.Struct.type('init')
256
362
  ], init);
@@ -266,9 +372,6 @@ var Types;
266
372
  Types.join = join;
267
373
  let loader_stats = class loader_stats extends antelope.Struct {
268
374
  };
269
- tslib.__decorate([
270
- antelope.Struct.field(antelope.UInt16)
271
- ], loader_stats.prototype, "capacity", void 0);
272
375
  tslib.__decorate([
273
376
  antelope.Struct.field(antelope.UInt32)
274
377
  ], loader_stats.prototype, "mass", void 0);
@@ -318,6 +421,15 @@ var Types;
318
421
  antelope.Struct.type('player_row')
319
422
  ], player_row);
320
423
  Types.player_row = player_row;
424
+ let salt = class salt extends antelope.Struct {
425
+ };
426
+ tslib.__decorate([
427
+ antelope.Struct.field(antelope.UInt64)
428
+ ], salt.prototype, "salt", void 0);
429
+ salt = tslib.__decorate([
430
+ antelope.Struct.type('salt')
431
+ ], salt);
432
+ Types.salt = salt;
321
433
  let sellgoods = class sellgoods extends antelope.Struct {
322
434
  };
323
435
  tslib.__decorate([
@@ -438,18 +550,36 @@ var Types;
438
550
  antelope.Struct.field(antelope.UInt64)
439
551
  ], state_row.prototype, "epoch", void 0);
440
552
  tslib.__decorate([
441
- antelope.Struct.field(antelope.Checksum256)
442
- ], state_row.prototype, "epochseed", void 0);
443
- tslib.__decorate([
444
- antelope.Struct.field(antelope.BlockTimestamp)
445
- ], state_row.prototype, "genesis", void 0);
553
+ antelope.Struct.field(antelope.UInt64)
554
+ ], state_row.prototype, "salt", void 0);
446
555
  tslib.__decorate([
447
556
  antelope.Struct.field(antelope.Checksum256)
448
557
  ], state_row.prototype, "seed", void 0);
558
+ tslib.__decorate([
559
+ antelope.Struct.field(antelope.Checksum256)
560
+ ], state_row.prototype, "commit", void 0);
449
561
  state_row = tslib.__decorate([
450
562
  antelope.Struct.type('state_row')
451
563
  ], state_row);
452
564
  Types.state_row = state_row;
565
+ let travel = class travel extends antelope.Struct {
566
+ };
567
+ tslib.__decorate([
568
+ antelope.Struct.field(antelope.Name)
569
+ ], travel.prototype, "owner", void 0);
570
+ tslib.__decorate([
571
+ antelope.Struct.field(antelope.UInt64)
572
+ ], travel.prototype, "id", void 0);
573
+ tslib.__decorate([
574
+ antelope.Struct.field(coordinates)
575
+ ], travel.prototype, "destination", void 0);
576
+ tslib.__decorate([
577
+ antelope.Struct.field('bool')
578
+ ], travel.prototype, "recharge", void 0);
579
+ travel = tslib.__decorate([
580
+ antelope.Struct.type('travel')
581
+ ], travel);
582
+ Types.travel = travel;
453
583
  let travel_summary = class travel_summary extends antelope.Struct {
454
584
  };
455
585
  tslib.__decorate([
@@ -492,45 +622,18 @@ var Types;
492
622
  antelope.Struct.type('travel_summary')
493
623
  ], travel_summary);
494
624
  Types.travel_summary = travel_summary;
495
- let summary_row = class summary_row extends antelope.Struct {
496
- };
497
- tslib.__decorate([
498
- antelope.Struct.field(antelope.Name)
499
- ], summary_row.prototype, "key", void 0);
500
- tslib.__decorate([
501
- antelope.Struct.field(travel_summary)
502
- ], summary_row.prototype, "value", void 0);
503
- summary_row = tslib.__decorate([
504
- antelope.Struct.type('summary_row')
505
- ], summary_row);
506
- Types.summary_row = summary_row;
507
- let test = class test extends antelope.Struct {
508
- };
509
- tslib.__decorate([
510
- antelope.Struct.field('string')
511
- ], test.prototype, "data", void 0);
512
- test = tslib.__decorate([
513
- antelope.Struct.type('test')
514
- ], test);
515
- Types.test = test;
516
- let travel = class travel extends antelope.Struct {
625
+ let traveltime = class traveltime extends antelope.Struct {
517
626
  };
518
- tslib.__decorate([
519
- antelope.Struct.field(antelope.Name)
520
- ], travel.prototype, "owner", void 0);
521
627
  tslib.__decorate([
522
628
  antelope.Struct.field(antelope.UInt64)
523
- ], travel.prototype, "id", void 0);
629
+ ], traveltime.prototype, "id", void 0);
524
630
  tslib.__decorate([
525
631
  antelope.Struct.field(coordinates)
526
- ], travel.prototype, "destination", void 0);
527
- tslib.__decorate([
528
- antelope.Struct.field('bool')
529
- ], travel.prototype, "recharge", void 0);
530
- travel = tslib.__decorate([
531
- antelope.Struct.type('travel')
532
- ], travel);
533
- Types.travel = travel;
632
+ ], traveltime.prototype, "destination", void 0);
633
+ traveltime = tslib.__decorate([
634
+ antelope.Struct.type('traveltime')
635
+ ], traveltime);
636
+ Types.traveltime = traveltime;
534
637
  let wipe = class wipe extends antelope.Struct {
535
638
  };
536
639
  wipe = tslib.__decorate([
@@ -544,7 +647,6 @@ const TableMap = {
544
647
  sequence: Types.sequence_row,
545
648
  ship: Types.ship_row,
546
649
  state: Types.state_row,
547
- summary: Types.summary_row,
548
650
  };
549
651
  class Contract extends ContractKit.Contract {
550
652
  constructor(args) {
@@ -574,12 +676,22 @@ var server = /*#__PURE__*/Object.freeze({
574
676
  Contract: Contract
575
677
  });
576
678
 
679
+ function getCurrentEpoch(game) {
680
+ return tslib.__awaiter(this, void 0, void 0, function* () {
681
+ const current = new Date().getTime();
682
+ const difference = (current - game.config.start.toDate().getTime()) / 1000;
683
+ const epoch = Math.floor(difference / Number(game.config.epochtime)) + 1;
684
+ return epoch;
685
+ });
686
+ }
687
+
577
688
  function hash(seed, string) {
578
689
  const bytes = antelope.Bytes.from(`${seed}${string}`, 'utf8');
579
- return antelope.Checksum512.hash(bytes);
690
+ return antelope.Checksum256.hash(bytes);
580
691
  }
581
- function hashBytes(seed, string) {
582
- return hash(seed, string).array;
692
+ function hash512(seed, string) {
693
+ const bytes = antelope.Bytes.from(`${seed}${string}`, 'utf8');
694
+ return antelope.Checksum512.hash(bytes);
583
695
  }
584
696
 
585
697
  function distanceTraveled(ship) {
@@ -608,7 +720,7 @@ function rotation(origin, destination) {
608
720
  }
609
721
  function hasPlanet(seed, coordinates) {
610
722
  const str = ['system', coordinates.x, coordinates.y].join('-');
611
- return String(hash(seed, str)).slice(0, 2) === '00';
723
+ return String(hash512(seed, str)).slice(0, 2) === '00';
612
724
  }
613
725
  function findNearbyPlanets(seed, origin, maxDistance = 20) {
614
726
  const nearbySystems = [];
@@ -743,8 +855,8 @@ function getGood(good_id) {
743
855
  }
744
856
 
745
857
  function roll(game_seed, roll_seed) {
746
- const byteArray = hashBytes(game_seed, roll_seed);
747
- return (byteArray[0] << 8) | byteArray[1];
858
+ const hash = hash512(game_seed, roll_seed);
859
+ return (hash.array[0] << 8) | hash.array[1];
748
860
  }
749
861
 
750
862
  function marketprice(location, good_id, gameSeed, epochSeed) {
@@ -813,23 +925,43 @@ const INSUFFICIENT_GOOD_QUANTITY = 'Insufficient good quantity';
813
925
  const REQUIRES_MORE_THAN_ONE = 'Requires more than one';
814
926
 
815
927
  class Shipload {
816
- constructor(chain, { client, serverContract }) {
928
+ constructor(chain, { client, platformContract, serverContract }) {
817
929
  this.client = client || new antelope.APIClient({ url: chain.url });
930
+ this.platform = platformContract
931
+ ? platformContract
932
+ : new Contract$1({ client: this.client });
818
933
  this.server = serverContract
819
934
  ? serverContract
820
935
  : new Contract({ client: this.client });
821
936
  }
822
937
  static load(chain, shiploadOptions) {
823
938
  return tslib.__awaiter(this, void 0, void 0, function* () {
939
+ let platform$1 = new Contract$1({
940
+ client: new antelope.APIClient({ url: chain.url }),
941
+ });
942
+ if (shiploadOptions.platformContractName) {
943
+ const client = shiploadOptions.client || new antelope.APIClient({ url: chain.url });
944
+ const contractKit = new ContractKit__default["default"]({ client });
945
+ platform$1 = yield contractKit.load(shiploadOptions.platformContractName);
946
+ }
824
947
  let server$1 = new Contract({
825
948
  client: new antelope.APIClient({ url: chain.url }),
826
949
  });
827
- if (shiploadOptions.contractName) {
950
+ if (shiploadOptions.serverContractName) {
828
951
  const client = shiploadOptions.client || new antelope.APIClient({ url: chain.url });
829
952
  const contractKit = new ContractKit__default["default"]({ client });
830
- server$1 = yield contractKit.load(shiploadOptions.contractName);
953
+ server$1 = yield contractKit.load(shiploadOptions.serverContractName);
954
+ }
955
+ return new Shipload(chain, Object.assign(Object.assign({}, shiploadOptions), { platformContract: platform$1, serverContract: server$1 }));
956
+ });
957
+ }
958
+ getGame() {
959
+ return tslib.__awaiter(this, void 0, void 0, function* () {
960
+ const game = yield this.platform.table('games').get();
961
+ if (!game) {
962
+ throw new Error(ERROR_SYSTEM_NOT_INITIALIZED);
831
963
  }
832
- return new Shipload(chain, Object.assign(Object.assign({}, shiploadOptions), { serverContract: server$1 }));
964
+ return game;
833
965
  });
834
966
  }
835
967
  getState() {
@@ -843,14 +975,16 @@ class Shipload {
843
975
  }
844
976
  marketprice(location, good_id) {
845
977
  return tslib.__awaiter(this, void 0, void 0, function* () {
846
- const { seed, epochseed } = yield this.getState();
847
- return marketprice(location, good_id, seed, epochseed);
978
+ const game = yield this.getGame();
979
+ const state = yield this.getState();
980
+ return marketprice(location, good_id, game.config.seed, state.seed);
848
981
  });
849
982
  }
850
983
  marketprices(location) {
851
984
  return tslib.__awaiter(this, void 0, void 0, function* () {
852
- const { seed, epochseed } = yield this.getState();
853
- return marketprices(location, seed, epochseed);
985
+ const game = yield this.getGame();
986
+ const state = yield this.getState();
987
+ return marketprices(location, game.config.seed, state.seed);
854
988
  });
855
989
  }
856
990
  }
@@ -871,11 +1005,12 @@ exports.distanceBetweenCoordinates = distanceBetweenCoordinates;
871
1005
  exports.distanceBetweenPoints = distanceBetweenPoints;
872
1006
  exports.distanceTraveled = distanceTraveled;
873
1007
  exports.findNearbyPlanets = findNearbyPlanets;
1008
+ exports.getCurrentEpoch = getCurrentEpoch;
874
1009
  exports.getGood = getGood;
875
1010
  exports.goods = goods;
876
1011
  exports.hasPlanet = hasPlanet;
877
1012
  exports.hash = hash;
878
- exports.hashBytes = hashBytes;
1013
+ exports.hash512 = hash512;
879
1014
  exports.lerp = lerp;
880
1015
  exports.marketprice = marketprice;
881
1016
  exports.marketprices = marketprices;