@shipload/sdk 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/shipload.m.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from 'tslib';
2
- import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt16, Int64, TimePoint, UInt8, Bytes, Checksum512, APIClient } from '@wharfkit/antelope';
2
+ import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt16, Int64, TimePoint, UInt8, Float64, Bytes, Checksum512, BlockTimestamp, APIClient } from '@wharfkit/antelope';
3
3
  import ContractKit, { Contract as Contract$2 } from '@wharfkit/contract';
4
4
 
5
5
  const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAA0KY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAplbmFibGVnYW1lAAIIY29udHJhY3QEbmFtZQdlbmFibGVkBGJvb2wMZm91bmRjb21wYW55AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nC2dhbWVfY29uZmlnAAQEc2VlZAtjaGVja3N1bTI1NgllcG9jaHRpbWUGdWludDMyBXN0YXJ0DnRpbWVfcG9pbnRfc2VjA2VuZA50aW1lX3BvaW50X3NlYwlnYW1lX21ldGEABARuYW1lBnN0cmluZwtkZXNjcmlwdGlvbgZzdHJpbmcDdXJsBnN0cmluZwd2ZXJzaW9uBnN0cmluZwhnYW1lX3JvdwAECGNvbnRyYWN0BG5hbWUGY29uZmlnC2dhbWVfY29uZmlnBG1ldGEJZ2FtZV9tZXRhBXN0YXRlCmdhbWVfc3RhdGUKZ2FtZV9zdGF0ZQABB2VuYWJsZWQEYm9vbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAHAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAACoeMxUBmVuYWJsZfMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2FibGUgcGxhdGZvcm0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGxhdGZvcm0gY29udHJhY3QuAICShql4zFQKZW5hYmxlZ2FtZfwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZWdhbWUKc3VtbWFyeTogJ0VuYWJsZS9kaXNiYWJsZSBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3Qu4KepkqI0NV0MZm91bmRjb21wYW55gwItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZm91bmRjb21wYW55CnN1bW1hcnk6ICdGb3VuZCBhIG5ldyBjb21wYW55JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRm91bmQgYSBuZXcgY29tcGFueSBpbiB0aGUgU2hpcGxvYWQgcGxhdGZvcm0gY29udHJhY3QuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AgJKGqWxS1Qp1cGRhdGVnYW1ljQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdXBkYXRlZ2FtZQpzdW1tYXJ5OiAnVXBkYXRlIGdhbWUgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpVcGRhdGUgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0DAAAAwE9TJUUDaTY0AAALY29tcGFueV9yb3cAAAAAAKykYQNpNjQAAAhnYW1lX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
@@ -205,7 +205,7 @@ var platform = /*#__PURE__*/Object.freeze({
205
205
  Contract: Contract$1
206
206
  });
207
207
 
208
- const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAB0HYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BmFycml2ZQACBW93bmVyBG5hbWUCaWQGdWludDY0CGJ1eWdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0CWNhcmdvX3JvdwAFAmlkBnVpbnQ2NAdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50MTYGbG9hZGVkBnVpbnQxNgpjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAEGY29tbWl0C2NoZWNrc3VtMjU2C2Nvb3JkaW5hdGVzAAIBeAVpbnQ2NAF5BWludDY0BmVuYWJsZQABB2VuYWJsZWQEYm9vbApnb29kX3ByaWNlAAICaWQGdWludDE2BXByaWNlBnVpbnQ2NARoYXNoAAEFdmFsdWUGc3RyaW5nB2hhc2g1MTIAAQV2YWx1ZQZzdHJpbmcEaW5pdAABBHNlZWQLY2hlY2tzdW0yNTYEam9pbgABB2FjY291bnQEbmFtZQxsb2FkZXJfc3RhdHMAAwRtYXNzBnVpbnQzMghxdWFudGl0eQZ1aW50MTYGdGhydXN0BnVpbnQzMgttYXJrZXRwcmljZQACCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB2dvb2RfaWQGdWludDE2DG1hcmtldHByaWNlcwABCGxvY2F0aW9uC2Nvb3JkaW5hdGVzCnBsYXllcl9yb3cAAwVvd25lcgRuYW1lB2JhbGFuY2UGdWludDY0BGRlYnQGdWludDY0BHNhbHQAAQRzYWx0BnVpbnQ2NAlzZWxsZ29vZHMAAwdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQMc2VxdWVuY2Vfcm93AAIDa2V5BG5hbWUFdmFsdWUGdWludDY0CHNoaXBfcm93AAoCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcIbG9jYXRpb24LY29vcmRpbmF0ZXMEc2tpbgV1aW50OAR0aWVyBXVpbnQ4BXN0YXRlCnNoaXBfc3RhdGUFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwp0cmF2ZWxwbGFuDHRyYXZlbF9wbGFuPwpzaGlwX3N0YXRlAAEGZW5lcmd5BnVpbnQzMgpzaGlwX3N0YXRzAAYIY2FwYWNpdHkGdWludDMyBWRyYWluBnVpbnQzMgRtYXNzBnVpbnQ2NAVvcmJpdAZ1aW50MTYIcmVjaGFyZ2UGdWludDMyBnRocnVzdAZ1aW50NjQJc3RhdGVfcm93AAUHZW5hYmxlZARib29sBWVwb2NoBnVpbnQ2NARzYWx0BnVpbnQ2NARzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgZ0cmF2ZWwABAVvd25lcgRuYW1lAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwhyZWNoYXJnZQRib29sC3RyYXZlbF9wbGFuAAMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMJZGVwYXJ0dXJlCnRpbWVfcG9pbnQIZHVyYXRpb24GdWludDMyDnRyYXZlbF9zdW1tYXJ5AAwFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwZvcmlnaW4LY29vcmRpbmF0ZXMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMIZGlzdGFuY2UGdWludDY0CXRvdGFsbWFzcwZ1aW50NjQMYWNjZWxlcmF0aW9uBnVpbnQ2NApmbGlnaHR0aW1lBnVpbnQ2NAtlbmVyZ3l1c2FnZQZ1aW50NjQMcmVjaGFyZ2V0aW1lBnVpbnQ2NAhsb2FkdGltZQZ1aW50NjQEdGltZQZ1aW50NjQKdHJhdmVsdGltZQACAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwR3aXBlAAARAAAAQKFpdjIHYWR2YW5jZdMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkdmFuY2UKc3VtbWFyeTogJ0FkdmFuY2UgdHVybicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWR2YW5jZSB0aGUgZ2FtZSB0byB0aGUgbmV4dCB0dXJuLgAAAACo7e41BmFycml2ZbMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFycml2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgdHJhdmVsJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21wbGV0ZSB0aGUgdHJhdmVsIG9mIGEgc2hpcCBieSB1cGRhdGluZyBpdHMgbG9jYXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIGFmdGVyIHRoZSB0cmF2ZWwgZHVyYXRpb24gaGFzIHBhc3NlZC4KCi0tLQAAADhRyrw+CGJ1eWdvb2Rz3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYnV5Z29vZHMKc3VtbWFyeTogJ0J1eSBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUHVyY2hhc2UgZ29vZHMgYW5kIGFkZCB0aGVtIHRvIGEgc2hpcCdzIGNhcmdvLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTxAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uCgotLS0AAAAAqHjMVAZlbmFibGXiAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQuCgotLS0AAAAAANCwaQRoYXNo/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgoKLS0tAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0+gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbskBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAoKLS0tABRyt2YFr5ELbWFya2V0cHJpY2WbAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZQpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGdvb2QgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhIHNwZWNpZmllZCBnb29kIGF0IGEgZ2l2ZW4gbG9jYXRpb24uCgotLS2AFXK3ZgWvkQxtYXJrZXRwcmljZXOVAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZXMKc3VtbWFyeTogJ0dldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgYSBnaXZlbiBsb2NhdGlvbi4AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAwIlSFqPCCXNlbGxnb29kc9UBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNlbGxnb29kcwpzdW1tYXJ5OiAnU2VsbCBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2VsbCBnb29kcyBmcm9tIGEgc2hpcCdzIGNhcmdvLgoKLS0tAAAAAES1zc0GdHJhdmVs/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGEgc2hpcCBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgoKLS0tAICSLke1zc0KdHJhdmVsdGltZYwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbHRpbWUKc3VtbWFyeTogJ0VzdGltYXRlIFRyYXZlbCBUaW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFc3RpbWF0ZSB0aGUgZHVyYXRpb24gb2YgYSBzaGlwIHRyYXZlbGluZyB3aXRob3V0IGNvbW1pdHRpbmcgdG8gdGhlIGFjdGlvbi4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0FAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAAUAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyABRyt2YFr5EKZ29vZF9wcmljZYAVcrdmBa+RDGdvb2RfcHJpY2VbXQCAki5Htc3NDnRyYXZlbF9zdW1tYXJ5');
208
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAB4HYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BmFycml2ZQABAmlkBnVpbnQ2NAhidXlnb29kcwADB3NoaXBfaWQGdWludDY0B2dvb2RfaWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAljYXJnb19yb3cABQJpZAZ1aW50NjQHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDE2BmxvYWRlZAZ1aW50MTYKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngtjb29yZGluYXRlcwACAXgFaW50NjQBeQVpbnQ2NAZlbmFibGUAAQdlbmFibGVkBGJvb2wKZ29vZF9wcmljZQACAmlkBnVpbnQxNgVwcmljZQZ1aW50NjQEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nBGluaXQAAQRzZWVkC2NoZWNrc3VtMjU2BGpvaW4AAQdhY2NvdW50BG5hbWUMbG9hZGVyX3N0YXRzAAMEbWFzcwZ1aW50MzIIcXVhbnRpdHkGdWludDE2BnRocnVzdAZ1aW50MzILbWFya2V0cHJpY2UAAghsb2NhdGlvbgtjb29yZGluYXRlcwdnb29kX2lkBnVpbnQxNgxtYXJrZXRwcmljZXMAAQhsb2NhdGlvbgtjb29yZGluYXRlcwpwbGF5ZXJfcm93AAMFb3duZXIEbmFtZQdiYWxhbmNlBnVpbnQ2NARkZWJ0BnVpbnQ2NARzYWx0AAEEc2FsdAZ1aW50NjQJc2VsbGdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0DHNlcXVlbmNlX3JvdwACA2tleQRuYW1lBXZhbHVlBnVpbnQ2NAhzaGlwX3JvdwAKAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nCGxvY2F0aW9uC2Nvb3JkaW5hdGVzBHNraW4FdWludDgEdGllcgV1aW50OAVzdGF0ZQpzaGlwX3N0YXRlBXN0YXRzCnNoaXBfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMKdHJhdmVscGxhbgx0cmF2ZWxfcGxhbj8Kc2hpcF9zdGF0ZQABBmVuZXJneQZ1aW50MzIKc2hpcF9zdGF0cwAGCGNhcGFjaXR5BnVpbnQzMgVkcmFpbgZ1aW50MzIEbWFzcwZ1aW50NjQFb3JiaXQGdWludDE2CHJlY2hhcmdlBnVpbnQzMgZ0aHJ1c3QGdWludDY0CXN0YXRlX3JvdwAFB2VuYWJsZWQEYm9vbAVlcG9jaAZ1aW50NjQEc2FsdAZ1aW50NjQEc2VlZAtjaGVja3N1bTI1NgZjb21taXQLY2hlY2tzdW0yNTYGdHJhdmVsAAMCaWQGdWludDY0C2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCHJlY2hhcmdlBGJvb2wLdHJhdmVsX3BsYW4ACAlkZXBhcnR1cmUKdGltZV9wb2ludAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwpmbGlnaHR0aW1lBnVpbnQzMghsb2FkdGltZQZ1aW50MzIMcmVjaGFyZ2V0aW1lBnVpbnQzMgRtYXNzBnVpbnQ2NAtlbmVyZ3l1c2FnZQZ1aW50MzIIZGlzdGFuY2UGdWludDY0DnRyYXZlbF9zdW1tYXJ5AAwFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwZvcmlnaW4LY29vcmRpbmF0ZXMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMIZGlzdGFuY2UGdWludDY0CXRvdGFsbWFzcwZ1aW50NjQMYWNjZWxlcmF0aW9uB2Zsb2F0NjQKZmxpZ2h0dGltZQZ1aW50NjQLZW5lcmd5dXNhZ2UGdWludDY0DHJlY2hhcmdldGltZQZ1aW50NjQIbG9hZHRpbWUGdWludDY0BHRpbWUGdWludDY0CnRyYXZlbHBsYW4ABAJpZAZ1aW50NjQGb3JpZ2luC2Nvb3JkaW5hdGVzC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCHJlY2hhcmdlBGJvb2wKdHJhdmVsdGltZQACAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwR3aXBlAAASAAAAQKFpdjIHYWR2YW5jZdMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkdmFuY2UKc3VtbWFyeTogJ0FkdmFuY2UgdHVybicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWR2YW5jZSB0aGUgZ2FtZSB0byB0aGUgbmV4dCB0dXJuLgAAAACo7e41BmFycml2ZbMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFycml2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgdHJhdmVsJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21wbGV0ZSB0aGUgdHJhdmVsIG9mIGEgc2hpcCBieSB1cGRhdGluZyBpdHMgbG9jYXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIGFmdGVyIHRoZSB0cmF2ZWwgZHVyYXRpb24gaGFzIHBhc3NlZC4KCi0tLQAAADhRyrw+CGJ1eWdvb2Rz3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYnV5Z29vZHMKc3VtbWFyeTogJ0J1eSBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUHVyY2hhc2UgZ29vZHMgYW5kIGFkZCB0aGVtIHRvIGEgc2hpcCdzIGNhcmdvLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTxAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uCgotLS0AAAAAqHjMVAZlbmFibGXiAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQuCgotLS0AAAAAANCwaQRoYXNo/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgoKLS0tAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0+gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbskBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAoKLS0tABRyt2YFr5ELbWFya2V0cHJpY2WbAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZQpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGdvb2QgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhIHNwZWNpZmllZCBnb29kIGF0IGEgZ2l2ZW4gbG9jYXRpb24uCgotLS2AFXK3ZgWvkQxtYXJrZXRwcmljZXOVAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZXMKc3VtbWFyeTogJ0dldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgYSBnaXZlbiBsb2NhdGlvbi4AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAwIlSFqPCCXNlbGxnb29kc9UBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNlbGxnb29kcwpzdW1tYXJ5OiAnU2VsbCBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2VsbCBnb29kcyBmcm9tIGEgc2hpcCdzIGNhcmdvLgoKLS0tAAAAAES1zc0GdHJhdmVsyAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGEgc2hpcCBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgoKLS0tCgpUaGlzIGFjdGlvbiBkZXRlcm1pbmVzIHRoZSBtYXJrZXQgcHJpY2Ugb2YgYWxsIGdvb2RzIGF0IGEgZ2l2ZW4gbG9jYXRpb24uAMA0sUa1zc0KdHJhdmVscGxhbo4CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbHBsYW4Kc3VtbWFyeTogJ0VzdGltYXRlIGEgdHJhdmVsIHBsYW4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZSB3aGF0IHRoZSB0cmF2ZWwgcGxhbiBpcyBmb3IgYSBzaGlwIHRyYXZlbGluZyB0byBhIGdpdmVuIGxvY2F0aW9uLgoKLS0tAICSLke1zc0KdHJhdmVsdGltZYwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbHRpbWUKc3VtbWFyeTogJ0VzdGltYXRlIFRyYXZlbCBUaW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFc3RpbWF0ZSB0aGUgZHVyYXRpb24gb2YgYSBzaGlwIHRyYXZlbGluZyB3aXRob3V0IGNvbW1pdHRpbmcgdG8gdGhlIGFjdGlvbi4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0FAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAAYAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyABRyt2YFr5EKZ29vZF9wcmljZYAVcrdmBa+RDGdvb2RfcHJpY2VbXQDANLFGtc3NC3RyYXZlbF9wbGFuAICSLke1zc0OdHJhdmVsX3N1bW1hcnk=');
209
209
  const abi = ABI.from(abiBlob);
210
210
  var Types;
211
211
  (function (Types) {
@@ -223,9 +223,6 @@ var Types;
223
223
  Types.advance = advance;
224
224
  let arrive = class arrive extends Struct {
225
225
  };
226
- __decorate([
227
- Struct.field(Name)
228
- ], arrive.prototype, "owner", void 0);
229
226
  __decorate([
230
227
  Struct.field(UInt64)
231
228
  ], arrive.prototype, "id", void 0);
@@ -484,15 +481,30 @@ var Types;
484
481
  Types.ship_stats = ship_stats;
485
482
  let travel_plan = class travel_plan extends Struct {
486
483
  };
484
+ __decorate([
485
+ Struct.field(TimePoint)
486
+ ], travel_plan.prototype, "departure", void 0);
487
487
  __decorate([
488
488
  Struct.field(coordinates)
489
489
  ], travel_plan.prototype, "destination", void 0);
490
490
  __decorate([
491
- Struct.field(TimePoint)
492
- ], travel_plan.prototype, "departure", void 0);
491
+ Struct.field(UInt32)
492
+ ], travel_plan.prototype, "flighttime", void 0);
493
+ __decorate([
494
+ Struct.field(UInt32)
495
+ ], travel_plan.prototype, "loadtime", void 0);
496
+ __decorate([
497
+ Struct.field(UInt32)
498
+ ], travel_plan.prototype, "rechargetime", void 0);
499
+ __decorate([
500
+ Struct.field(UInt64)
501
+ ], travel_plan.prototype, "mass", void 0);
493
502
  __decorate([
494
503
  Struct.field(UInt32)
495
- ], travel_plan.prototype, "duration", void 0);
504
+ ], travel_plan.prototype, "energyusage", void 0);
505
+ __decorate([
506
+ Struct.field(UInt64)
507
+ ], travel_plan.prototype, "distance", void 0);
496
508
  travel_plan = __decorate([
497
509
  Struct.type('travel_plan')
498
510
  ], travel_plan);
@@ -556,9 +568,6 @@ var Types;
556
568
  Types.state_row = state_row;
557
569
  let travel = class travel extends Struct {
558
570
  };
559
- __decorate([
560
- Struct.field(Name)
561
- ], travel.prototype, "owner", void 0);
562
571
  __decorate([
563
572
  Struct.field(UInt64)
564
573
  ], travel.prototype, "id", void 0);
@@ -593,7 +602,7 @@ var Types;
593
602
  Struct.field(UInt64)
594
603
  ], travel_summary.prototype, "totalmass", void 0);
595
604
  __decorate([
596
- Struct.field(UInt64)
605
+ Struct.field(Float64)
597
606
  ], travel_summary.prototype, "acceleration", void 0);
598
607
  __decorate([
599
608
  Struct.field(UInt64)
@@ -614,6 +623,24 @@ var Types;
614
623
  Struct.type('travel_summary')
615
624
  ], travel_summary);
616
625
  Types.travel_summary = travel_summary;
626
+ let travelplan = class travelplan extends Struct {
627
+ };
628
+ __decorate([
629
+ Struct.field(UInt64)
630
+ ], travelplan.prototype, "id", void 0);
631
+ __decorate([
632
+ Struct.field(coordinates)
633
+ ], travelplan.prototype, "origin", void 0);
634
+ __decorate([
635
+ Struct.field(coordinates)
636
+ ], travelplan.prototype, "destination", void 0);
637
+ __decorate([
638
+ Struct.field('bool')
639
+ ], travelplan.prototype, "recharge", void 0);
640
+ travelplan = __decorate([
641
+ Struct.type('travelplan')
642
+ ], travelplan);
643
+ Types.travelplan = travelplan;
617
644
  let traveltime = class traveltime extends Struct {
618
645
  };
619
646
  __decorate([
@@ -668,9 +695,9 @@ var server = /*#__PURE__*/Object.freeze({
668
695
  Contract: Contract
669
696
  });
670
697
 
671
- async function getCurrentEpoch(game) {
698
+ function getCurrentEpoch(game) {
672
699
  const current = new Date().getTime();
673
- const difference = (current - game.config.start.toDate().getTime()) / 1000;
700
+ const difference = (current - game.config.start.toMilliseconds()) / 1000;
674
701
  const epoch = Math.floor(difference / Number(game.config.epochtime)) + 1;
675
702
  return epoch;
676
703
  }
@@ -684,164 +711,266 @@ function hash512(seed, string) {
684
711
  return Checksum512.hash(bytes);
685
712
  }
686
713
 
687
- function distanceTraveled(ship) {
688
- if (ship.travelplan) {
689
- const { departure, duration } = ship.travelplan;
690
- return (+new Date() - +departure.toDate()) / (Number(duration) * 1000);
691
- }
692
- return 0;
693
- }
694
- function distanceBetweenCoordinates(origin, destination) {
695
- return distanceBetweenPoints(origin.x, origin.y, destination.x, destination.y);
696
- }
697
- function distanceBetweenPoints(x1, y1, x2, y2) {
698
- const x = Math.pow(x1 - x2, 2);
699
- const y = Math.pow(y1 - y2, 2);
700
- return UInt16.from(Math.sqrt(x + y));
701
- }
702
- function lerp(origin, destination, time) {
703
- return {
704
- x: (1 - time) * Number(origin.x) + time * Number(destination.x),
705
- y: (1 - time) * Number(origin.y) + time * Number(destination.y),
706
- };
707
- }
708
- function rotation(origin, destination) {
709
- return Math.atan2(destination.y - origin.y, destination.x - origin.x) * (180 / Math.PI) + 90;
710
- }
711
- function hasPlanet(seed, coordinates) {
712
- const str = ['system', coordinates.x, coordinates.y].join('-');
713
- return String(hash512(seed, str)).slice(0, 2) === '00';
714
- }
715
- function findNearbyPlanets(seed, origin, maxDistance = 20) {
716
- const nearbySystems = [];
717
- const max = UInt16.from(maxDistance);
718
- const xMin = Int64.from(origin.x).subtracting(max);
719
- const xMax = Int64.from(origin.x).adding(max);
720
- const yMin = Int64.from(origin.y).subtracting(max);
721
- const yMax = Int64.from(origin.y).adding(max);
722
- for (let x = Number(xMin); x <= Number(xMax); x++) {
723
- for (let y = Number(yMin); y <= Number(yMax); y++) {
724
- const samePlace = x === origin.x && y === origin.y;
725
- if (!samePlace) {
726
- const distance = distanceBetweenPoints(origin.x, origin.y, x, y);
727
- if (Number(distance) <= Number(max)) {
728
- const system = hasPlanet(seed, { x, y });
729
- if (system) {
730
- nearbySystems.push({ origin, destination: { x, y }, distance });
731
- }
732
- }
733
- }
734
- }
735
- }
736
- return nearbySystems;
737
- }
714
+ const PRECISION = 10000;
738
715
 
739
716
  const goods = [
740
717
  {
741
- id: UInt16.from(1),
718
+ id: 1,
742
719
  name: 'FizzGlo',
743
720
  description: 'Pops with flavor! A neon drink that makes your burps glow.',
744
- base_price: UInt64.from(200),
745
- mass: UInt64.from(500),
721
+ base_price: 200,
722
+ mass: 5000,
746
723
  },
747
724
  {
748
- id: UInt16.from(2),
725
+ id: 2,
749
726
  name: 'ZapSnacks',
750
727
  description: 'Electric taste! Spicy edible energy sparks for a tongue-tingling experience.',
751
- base_price: UInt64.from(300),
752
- mass: UInt64.from(2000),
728
+ base_price: 300,
729
+ mass: 2000,
753
730
  },
754
731
  {
755
- id: UInt16.from(3),
732
+ id: 3,
756
733
  name: 'Blob Buddies',
757
734
  description: 'Squishy friends! Clingy, cute and mood-matching pet blobs for every home!',
758
- base_price: UInt64.from(400),
759
- mass: UInt64.from(10000),
735
+ base_price: 400,
736
+ mass: 10000,
760
737
  },
761
738
  {
762
- id: UInt16.from(4),
739
+ id: 4,
763
740
  name: 'TuneTooth',
764
741
  description: 'Whistle while you eat! Edible instrument treats that play tunes when chewed.',
765
- base_price: UInt64.from(600),
766
- mass: UInt64.from(3000),
742
+ base_price: 600,
743
+ mass: 3000,
767
744
  },
768
745
  {
769
- id: UInt16.from(5),
746
+ id: 5,
770
747
  name: 'SunPods',
771
748
  description: 'Miniature suns in your pocket providing on-demand light & warmth.',
772
- base_price: UInt64.from(800),
773
- mass: UInt64.from(1000),
749
+ base_price: 800,
750
+ mass: 1000,
774
751
  },
775
752
  {
776
- id: UInt16.from(6),
753
+ id: 6,
777
754
  name: 'Fuzzix',
778
755
  description: 'Pocket-sized quantum fluff generator for instant comfy.',
779
- base_price: UInt64.from(1000),
780
- mass: UInt64.from(4000),
756
+ base_price: 1000,
757
+ mass: 4000,
781
758
  },
782
759
  {
783
- id: UInt16.from(7),
760
+ id: 7,
784
761
  name: 'GlowGo',
785
762
  description: 'Ingestible bioluminescent jelly, your inside glows in the dark!',
786
- base_price: UInt64.from(140),
787
- mass: UInt64.from(3000),
763
+ base_price: 140,
764
+ mass: 10000,
788
765
  },
789
766
  {
790
- id: UInt16.from(8),
767
+ id: 8,
791
768
  name: 'KrackleKaps',
792
769
  description: 'Capsules packed with tiny firecrackers, spice up meals and parties.',
793
- base_price: UInt64.from(180),
794
- mass: UInt64.from(2000),
770
+ base_price: 180,
771
+ mass: 2000,
795
772
  },
796
773
  {
797
- id: UInt16.from(9),
774
+ id: 9,
798
775
  name: 'PlasmaMints',
799
776
  description: 'Hypercharged candy giving plasma breath capable of cutting through steel.',
800
- base_price: UInt64.from(220),
801
- mass: UInt64.from(500),
777
+ base_price: 220,
778
+ mass: 500,
802
779
  },
803
780
  {
804
- id: UInt16.from(10),
781
+ id: 10,
805
782
  name: 'TimeTreats',
806
783
  description: 'Confectionery morsels releasing slow-mo effect over a limited period.',
807
- base_price: UInt64.from(250),
808
- mass: UInt64.from(3000),
784
+ base_price: 250,
785
+ mass: 3000,
809
786
  },
810
787
  {
811
- id: UInt16.from(11),
788
+ id: 11,
812
789
  name: 'QuantumQuencher',
813
790
  description: 'Bottled hyper-fluid quenching thirst across multiple parallel realities simultaneously.',
814
- base_price: UInt64.from(300),
815
- mass: UInt64.from(6000),
791
+ base_price: 300,
792
+ mass: 6000,
816
793
  },
817
794
  {
818
- id: UInt16.from(12),
795
+ id: 12,
819
796
  name: 'TransmatterTruffles',
820
797
  description: 'Delectable chocolates instantly teleporting consumers short distances.',
821
- base_price: UInt64.from(350),
822
- mass: UInt64.from(4000),
798
+ base_price: 350,
799
+ mass: 4000,
823
800
  },
824
801
  {
825
- id: UInt16.from(13),
802
+ id: 13,
826
803
  name: 'MemoryGum',
827
804
  description: 'Chewable gum storing or replaying memories while being chewed.',
828
- base_price: UInt64.from(400),
829
- mass: UInt64.from(500),
805
+ base_price: 400,
806
+ mass: 500,
830
807
  },
831
808
  {
832
- id: UInt16.from(14),
809
+ id: 14,
833
810
  name: 'SymbioSnack',
834
811
  description: 'Edible alien larvae adopting owner’s taste preference upon consumption.',
835
- base_price: UInt64.from(500),
836
- mass: UInt64.from(1000),
812
+ base_price: 500,
813
+ mass: 10000,
837
814
  },
838
815
  ];
816
+ const goodIds = goods.map((g) => g.id);
839
817
  function getGood(good_id) {
840
- const good = goods.find((g) => g.id.equals(good_id));
818
+ const good = goods.find((g) => UInt16.from(good_id).equals(g.id));
841
819
  if (!good) {
842
820
  throw new Error('Good does not exist');
843
821
  }
844
- return good;
822
+ return {
823
+ ...good,
824
+ id: UInt16.from(good.id),
825
+ base_price: UInt64.from(good.base_price),
826
+ mass: UInt64.from(good.mass).multiplying(PRECISION),
827
+ };
828
+ }
829
+ function getGoods() {
830
+ return goods.map((g) => getGood(g.id));
831
+ }
832
+
833
+ function travelplanDuration(travelplan) {
834
+ return UInt32.from(travelplan.flighttime)
835
+ .adding(travelplan.rechargetime)
836
+ .adding(travelplan.loadtime);
837
+ }
838
+ function distanceTraveled(ship, current = new Date()) {
839
+ if (ship.travelplan) {
840
+ const { departure } = ship.travelplan;
841
+ const duration = travelplanDuration(ship.travelplan);
842
+ return (+current - +departure.toDate()) / (Number(duration) * 1000);
843
+ }
844
+ return 0;
845
+ }
846
+ function distanceBetweenCoordinates(origin, destination) {
847
+ return distanceBetweenPoints(origin.x, origin.y, destination.x, destination.y);
848
+ }
849
+ function distanceBetweenPoints(x1, y1, x2, y2) {
850
+ const x = Math.pow(x1 - x2, 2);
851
+ const y = Math.pow(y1 - y2, 2);
852
+ return UInt64.from(Math.sqrt(x + y) * PRECISION);
853
+ }
854
+ function lerp(origin, destination, time) {
855
+ return {
856
+ x: (1 - time) * Number(origin.x) + time * Number(destination.x),
857
+ y: (1 - time) * Number(origin.y) + time * Number(destination.y),
858
+ };
859
+ }
860
+ function rotation(origin, destination) {
861
+ return Math.atan2(destination.y - origin.y, destination.x - origin.x) * (180 / Math.PI) + 90;
862
+ }
863
+ function hasSystem(seed, coordinates) {
864
+ const str = ['system', coordinates.x, coordinates.y].join('-');
865
+ return String(hash512(seed, str)).slice(0, 2) === '00';
866
+ }
867
+ function findNearbyPlanets(seed, origin, maxDistance = 20 * PRECISION) {
868
+ const nearbySystems = [];
869
+ const max = UInt64.from(maxDistance / PRECISION);
870
+ const xMin = Int64.from(origin.x).subtracting(max);
871
+ const xMax = Int64.from(origin.x).adding(max);
872
+ const yMin = Int64.from(origin.y).subtracting(max);
873
+ const yMax = Int64.from(origin.y).adding(max);
874
+ for (let x = Number(xMin); x <= Number(xMax); x++) {
875
+ for (let y = Number(yMin); y <= Number(yMax); y++) {
876
+ const samePlace = x === origin.x && y === origin.y;
877
+ if (!samePlace) {
878
+ const distance = distanceBetweenPoints(origin.x, origin.y, x, y);
879
+ if (Number(distance) <= Number(maxDistance)) {
880
+ const system = hasSystem(seed, { x, y });
881
+ if (system) {
882
+ nearbySystems.push({ origin, destination: { x, y }, distance });
883
+ }
884
+ }
885
+ }
886
+ }
887
+ }
888
+ return nearbySystems;
889
+ }
890
+ function travelplan(game, ship, cargos, origin, destination, recharge) {
891
+ const valid = hasSystem(game.config.seed, destination);
892
+ if (!valid) {
893
+ throw new Error('Invalid destination');
894
+ }
895
+ const distance = distanceBetweenCoordinates(origin, destination);
896
+ const mass = calc_ship_mass(ship, cargos);
897
+ const loadtime = calc_ship_loadtime(ship, cargos);
898
+ const flighttime = calc_ship_flighttime(ship, mass, distance);
899
+ const rechargetime = recharge ? calc_ship_rechargetime(ship) : 0;
900
+ const energyusage = calc_energyusage(ship.stats.drain, flighttime);
901
+ return Types.travel_plan.from({
902
+ departure: BlockTimestamp.fromDate(new Date()),
903
+ destination,
904
+ loadtime,
905
+ flighttime,
906
+ rechargetime,
907
+ distance,
908
+ energyusage,
909
+ mass,
910
+ });
911
+ }
912
+ function calc_rechargetime(capacity, energy, recharge) {
913
+ return UInt32.from(capacity).subtracting(energy).dividing(recharge);
914
+ }
915
+ function calc_ship_rechargetime(ship) {
916
+ return calc_rechargetime(ship.stats.capacity, ship.state.energy, ship.stats.recharge);
917
+ }
918
+ function calc_ship_loadtime(ship, cargos) {
919
+ const loadtime = UInt32.from(0);
920
+ const mass_load = UInt64.from(0);
921
+ const mass_unload = UInt64.from(0);
922
+ for (const cargo of cargos) {
923
+ const cargo_delta = Number(cargo.quantity) - Number(cargo.loaded);
924
+ if (cargo_delta !== 0) {
925
+ const good_mass = getGood(cargo.good_id).mass;
926
+ const cargo_mass = good_mass.multiplying(Math.abs(cargo_delta));
927
+ if (cargo_delta > 0) {
928
+ mass_load.add(cargo_mass);
929
+ }
930
+ else {
931
+ mass_unload.add(cargo_mass);
932
+ }
933
+ }
934
+ }
935
+ if (Number(mass_load) > 0 || Number(mass_unload) > 0) {
936
+ mass_load.add(ship.loaders.mass);
937
+ loadtime.add(calc_loader_flighttime(ship, mass_load));
938
+ mass_unload.add(ship.loaders.mass);
939
+ loadtime.add(calc_loader_flighttime(ship, mass_unload));
940
+ }
941
+ return loadtime.dividing(ship.loaders.quantity);
942
+ }
943
+ function calc_flighttime(distance, acceleration) {
944
+ return UInt32.from(2 * Math.sqrt(Number(distance) / acceleration));
945
+ }
946
+ function calc_loader_flighttime(ship, mass) {
947
+ return calc_flighttime(ship.stats.orbit, calc_loader_acceleration(ship, mass));
948
+ }
949
+ function calc_loader_acceleration(ship, mass) {
950
+ return calc_acceleration(Number(ship.loaders.thrust), Number(mass) + Number(ship.loaders.mass));
951
+ }
952
+ function calc_ship_flighttime(ship, mass, distance) {
953
+ const acceleration = calc_ship_acceleration(ship, mass);
954
+ return calc_flighttime(distance, acceleration);
955
+ }
956
+ function calc_ship_acceleration(ship, mass) {
957
+ return calc_acceleration(Number(ship.stats.thrust), Number(mass));
958
+ }
959
+ function calc_acceleration(thrust, mass) {
960
+ return (thrust / mass) * PRECISION;
961
+ }
962
+ function calc_ship_mass(ship, cargos) {
963
+ const mass = UInt64.from(ship.stats.mass);
964
+ if (Number(ship.loaders.quantity) > 0) {
965
+ mass.add(ship.loaders.mass.multiplying(ship.loaders.quantity));
966
+ }
967
+ for (const cargo of cargos) {
968
+ mass.add(getGood(cargo.good_id).mass.multiplying(cargo.quantity));
969
+ }
970
+ return mass;
971
+ }
972
+ function calc_energyusage(drain, flighttime) {
973
+ return UInt32.from(drain).multiplying(flighttime);
845
974
  }
846
975
 
847
976
  function roll(game_seed, roll_seed) {
@@ -856,7 +985,7 @@ async function marketprice(location, good_id, gameSeed, epochSeed) {
856
985
  return priceFromRoll(good.base_price, rollValue);
857
986
  }
858
987
  async function marketprices(location, gameSeed, epochSeed) {
859
- return Promise.all(goods.map(async (good) => {
988
+ return Promise.all(getGoods().map(async (good) => {
860
989
  const price = await marketprice(location, good.id, gameSeed, epochSeed);
861
990
  return { price, good: good };
862
991
  }));
@@ -968,15 +1097,24 @@ class Shipload {
968
1097
  const state = await this.getState();
969
1098
  return marketprices(location, game.config.seed, state.seed);
970
1099
  }
971
- async hasPlanet(location) {
1100
+ async hasSystem(location) {
972
1101
  const game = await this.getGame();
973
- return hasPlanet(game.config.seed, location);
1102
+ return hasSystem(game.config.seed, location);
974
1103
  }
975
1104
  async findNearbyPlanets(origin, maxDistance = 20) {
976
1105
  const game = await this.getGame();
977
1106
  return findNearbyPlanets(game.config.seed, origin, maxDistance);
978
1107
  }
1108
+ async travelplan(ship, origin, destination, recharge = false) {
1109
+ const game = await this.getGame();
1110
+ const cargos = await this.server.table('cargo').all({
1111
+ from: ship.id,
1112
+ to: ship.id,
1113
+ index_position: 'secondary',
1114
+ });
1115
+ return travelplan(game, ship, cargos, origin, destination, recharge);
1116
+ }
979
1117
  }
980
1118
 
981
- 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 };
1119
+ export { ERROR_SYSTEM_NOT_INITIALIZED, GOOD_DOES_NOT_EXIST, GOOD_NOT_AVAILABLE_AT_LOCATION, INSUFFICIENT_BALANCE, INSUFFICIENT_GOOD_QUANTITY, PLAYER_NOT_FOUND, PRECISION, platform as PlatformContract, REQUIRES_MORE_THAN_ONE, SHIP_CANNOT_BUY_TRAVELING, SHIP_NOT_FOUND, server as ServerContract, calc_acceleration, calc_energyusage, calc_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_loadtime, calc_ship_mass, calc_ship_rechargetime, Shipload as default, distanceBetweenCoordinates, distanceBetweenPoints, distanceTraveled, findNearbyPlanets, getCurrentEpoch, getGood, getGoods, goodIds, hasSystem, hash, hash512, lerp, marketprice, marketprices, priceFromRoll, rotation, travelplan, travelplanDuration };
982
1120
  //# sourceMappingURL=shipload.m.js.map