Comparing version 4.1.1 to 4.1.2
@@ -185,2 +185,7 @@ 'use strict'; | ||
}, { | ||
key: 'getActionSigners', | ||
value: function getActionSigners(actionName) { | ||
return this._inst.currentState.getActionSigners(actionName); | ||
} | ||
}, { | ||
key: 'sync', | ||
@@ -344,2 +349,2 @@ value: function sync() { | ||
exports.default = ContractInstance; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9jb250cmFjdGluc3RhbmNlLmpzIl0sIm5hbWVzIjpbIk11bHRpU2lnU3RhdGUiLCJpbnN0YW5jZSIsInJlc2V0IiwicHJvcG9zYWwiLCJhY3Rpb24iLCJpbml0aWF0ZWQiLCJjb29yZGluYXRvciIsInN1Ym1pdHRlZCIsInJhd01lc3NhZ2UiLCJnZXRQcmV2SUQiLCJnZXRMYXN0TWVzc2FnZUlEIiwiQ29udHJhY3RJbnN0YW5jZSIsImNvbnRleHQiLCJfY29udGV4dCIsIl9pbml0aWFsaXplZCIsImNvbnRyYWN0RGVmaW5pdGlvbiIsImNyeXB0b3IiLCJldmVudHMiLCJtdWx0aVNpZ1N0YXRlIiwiY2hhaW5JRCIsIm1ldGFEYXRhIiwicmF0IiwiX3JhdGF0b3NrIiwic2Vzc2lvbktleSIsImV4ZWN1dGlvbkVuZ2luZSIsIm1ha2VDcnlwdG9yIiwibG9hZENvbnRyYWN0SW5zdGFuY2UiLCJjb25zZW5zdXNFbmdpbmUiLCJ0aGVuIiwiX2luc3QiLCJpbnN0IiwiY29udHJhY3REZWZpbml0aW9uTWFuYWdlciIsImdldEJ5Q29udHJhY3RIYXNoIiwiY29udHJhY3RIYXNoIiwiRXJyb3IiLCJfc2V0dXBFdmVudEhhbmRsZXIiLCJzeW5jIiwicGFyYW1ldGVycyIsImluaXRBY3Rpb24iLCJfZGVmIiwiYWN0aW9ucyIsInVzZUVuY3J5cHRpb24iLCJyYW5kb21CeXRlcyIsIm1ha2VOZXdDb250cmFjdEluc3RhbmNlIiwib24iLCJlbWl0IiwiY3VycmVudFN0YXRlIiwiZ2V0RmllbGRWYWx1ZXMiLCJnZXRGaWVsZEluZm8iLCJtZXNzYWdlQ2hhaW4iLCJsYXN0VXBkYXRlIiwic3luY0Vycm9yIiwicHVia2V5cyIsInVuZGVmaW5lZCIsInByaW5jaXBhbElkZW50aXR5IiwiZ2V0UmF3S2V5UGFpciIsInB1YktleSIsImdldEFwcGxpY2FibGVBY3Rpb25zIiwiYWN0aW9uTmFtZSIsInI0Q29udHJhY3REZWZpbml0aW9uIiwiZ2V0QWN0aW9uUGFyYW1zIiwibGFzdE1lc3NhZ2VGcmFtZSIsImdldElEIiwibWVzc2FnZSIsInR5cGUiLCJpc0FjdGl2ZSIsImNvbnNvbGUiLCJsb2ciLCJrZXlQYWlyIiwiZGVjb2RlTWVzc2FnZVByb3Bvc2FsIiwiQnVmZmVyIiwiZnJvbSIsImxtIiwiZGVjb2RlTWVzc2FnZSIsImRlY3J5cHRvciIsInNlbmRlciIsImFwcGx5U2lnbmF0dXJlIiwic2lnbmF0dXJlIiwiaXNGdWxseVNpZ25lZCIsInBvc3RNZXNzYWdlIiwiZ2V0Q2hhaW5JRCIsInBhcmFtcyIsInNpZ25lZEJ5IiwiZ2V0QWN0aW9uU2lnbmVycyIsImFjdGlvblBhcmFtZXRlcnMiLCJjaGVja0FjdGlvbiIsImUiLCJlbmNvZGVkUGFyYW1zIiwic2ltcGxlU2lnbmVyIiwibWFrZVNpbXBsZVNpZ25lciIsInNpZ24iLCJfbWFpbGJveCIsInNlbmRNZXNzYWdlIiwidG9TdHJpbmciLCJzaWduZXJzIiwibGVuZ3RoIiwiZXF1YWxzIiwiYmVmb3JlQWN0aW9uIiwicGVyZm9ybUFjdGlvbiIsIm1ha2VNZXNzYWdlIiwicHJvcG9zYWxCdWZmZXIiLCJlbmNvZGVNZXNzYWdlUHJvcG9zYWwiLCJzaWduZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQTs7OztBQUNBOztBQUNBOzs7Ozs7SUFFTUEsYTtBQUNGLDJCQUFhQyxRQUFiLEVBQXVCO0FBQUE7O0FBQ25CLGFBQUtBLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsYUFBS0MsS0FBTDtBQUNIOzs7O2dDQUVRO0FBQ0wsaUJBQUtDLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxpQkFBS0MsTUFBTCxHQUFjLElBQWQ7QUFDQSxpQkFBS0MsU0FBTCxHQUFpQixLQUFqQjtBQUNBLGlCQUFLQyxXQUFMLEdBQW1CLElBQW5CO0FBQ0EsaUJBQUtDLFNBQUwsR0FBaUIsS0FBakI7QUFDSDs7O21DQUVVO0FBQ1AsZ0JBQUksS0FBS0osUUFBTCxLQUFrQixJQUF0QixFQUNJLE9BQU8sS0FBUCxDQURKLEtBRUssSUFB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QTBDK0IsY0FBMUMsQ0FBakI7QUFDQWpHLDZCQUFTeUUsY0FBVCxFQUF3QixNQUFNekUsU0FBU3VGLElBQVQsQ0FDMUJ0QixRQUFRWixNQURrQixFQUNWZ0MsWUFEVSxDQUE5QjtBQUdBLHlCQUFLdEUsYUFBTCxDQUFtQmYsUUFBbkIsR0FBOEJBLFFBQTlCO0FBQ0EseUJBQUtlLGFBQUwsQ0FBbUJkLE1BQW5CLEdBQTRCQSxNQUE1QjtBQUNBLHlCQUFLYyxhQUFMLENBQW1CYixTQUFuQixHQUErQixJQUEvQjtBQVZHO0FBQUE7QUFBQTs7QUFBQTtBQVdILHdFQUFxQnlGLE9BQXJCLDRHQUE4QjtBQUFBLGdDQUFuQlEsTUFBbUI7O0FBQzFCLGdDQUFJQSxPQUFPTixNQUFQLENBQWM1QixRQUFRWixNQUF0QixDQUFKLEVBQW1DO0FBQ25DLGlDQUFLM0MsUUFBTCxDQUFjOEUsUUFBZCxDQUF1QkMsV0FBdkIsQ0FDSVUsT0FBT1QsUUFBUCxDQUFnQixLQUFoQixDQURKLEVBQzRCO0FBQ3BCN0Isc0NBQU0sb0JBRGM7QUFFcEI3Qyx5Q0FBUyxLQUFLNkQsVUFBTCxFQUZXO0FBR3BCTCx3Q0FBUXJCLGtCQUFrQlEsS0FBbEIsRUFIWTtBQUlwQjNELDBDQUFVaUcsZUFBZVAsUUFBZixDQUF3QixLQUF4QjtBQUpVLDZCQUQ1QjtBQVFIO0FBckJFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQk47QUFDSixhOzs7Ozs7Ozs7Ozs7a0JBaE9rQmxGLGdCIiwiZmlsZSI6ImNvbnRyYWN0aW5zdGFuY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggQ2hyb21hV2F5IEFCLiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Ugdi4gMi4wLCBzZWUgTElDRU5TRSBcbiAqL1xuXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJ2V2ZW50cydcbmltcG9ydCB7ZW5jb2RlUGFyYW1ldGVyc30gZnJvbSAnLi91dGlsJztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuY2xhc3MgTXVsdGlTaWdTdGF0ZSB7XG4gICAgY29uc3RydWN0b3IgKGluc3RhbmNlKSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIHJlc2V0ICgpIHtcbiAgICAgICAgdGhpcy5wcm9wb3NhbCA9IG51bGw7XG4gICAgICAgIHRoaXMuYWN0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5pbml0aWF0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb29yZGluYXRvciA9IG51bGw7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNBY3RpdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3Bvc2FsID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3Bvc2FsLnJhd01lc3NhZ2UuZ2V0UHJldklEKCkgIT09IHRoaXMuaW5zdGFuY2UuZ2V0TGFzdE1lc3NhZ2VJRCgpKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udHJhY3RJbnN0YW5jZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihjb250ZXh0KSB7XG4gICAgICAgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMuY3J5cHRvciA9IG51bGw7XG4gICAgICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZSA9IG5ldyBNdWx0aVNpZ1N0YXRlKHRoaXMpO1xuICAgIH1cblxuICBpbml0aWFsaXplRXhpc3RpbmcgKGNoYWluSUQsIG1ldGFEYXRhKSB7XG4gICAgY29uc3QgcmF0ID0gdGhpcy5fY29udGV4dC5fcmF0YXRvc2s7XG4gICAgdGhpcy5zZXNzaW9uS2V5ID0gbWV0YURhdGEuc2Vzc2lvbktleSB8fCBudWxsO1xuICAgIHRoaXMuY3J5cHRvciA9IHJhdC5leGVjdXRpb25FbmdpbmUubWFrZUNyeXB0b3IodGhpcy5zZXNzaW9uS2V5KTtcbiAgICByZXR1cm4gcmF0LmV4ZWN1dGlvbkVuZ2luZS5sb2FkQ29udHJhY3RJbnN0YW5jZShcbiAgICAgICAgY2hhaW5JRCxcbiAgICAgICAgcmF0LmNvbnNlbnN1c0VuZ2luZSxcbiAgICAgICAgdGhpcy5jcnlwdG9yXG4gICAgKS50aGVuKCBpbnN0ID0+IHtcbiAgICAgICAgdGhpcy5faW5zdCA9IGluc3Q7XG4gICAgICAgIHRoaXMuY29udHJhY3REZWZpbml0aW9uID0gdGhpcy5fY29udGV4dC5jb250cmFjdERlZmluaXRpb25NYW5hZ2VyLmdldEJ5Q29udHJhY3RIYXNoKFxuICAgICAgICAgICAgdGhpcy5faW5zdC5jb250cmFjdERlZmluaXRpb24uY29udHJhY3RIYXNoXG4gICAgICAgICk7XG4gICAgICAgIGlmICghdGhpcy5jb250cmFjdERlZmluaXRpb24pIHRocm93IEVycm9yKFwiY29udHJhY3QgZGVmaW5pdGlvbiBub3QgZm91bmRcIik7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc2V0dXBFdmVudEhhbmRsZXIoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3luYygpO1xuICAgIH0pXG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplTmV3IChjb250cmFjdERlZmluaXRpb24sIHBhcmFtZXRlcnMpIHtcbiAgICBjb25zdCBpbml0QWN0aW9uID0gY29udHJhY3REZWZpbml0aW9uLl9kZWYuYWN0aW9uc1snJElOSVQnXTtcbiAgICBjb25zdCByYXQgPSB0aGlzLl9jb250ZXh0Ll9yYXRhdG9zaztcbiAgICB0aGlzLnNlc3Npb25LZXkgPSAodGhpcy5fY29udGV4dC51c2VFbmNyeXB0aW9uKSA/IGNyeXB0by5yYW5kb21CeXRlcygzMikgOiBudWxsO1xuICAgIHRoaXMuY3J5cHRvciA9IHJhdC5leGVjdXRpb25FbmdpbmUubWFrZUNyeXB0b3IodGhpcy5zZXNzaW9uS2V5KTtcbiAgICB0aGlzLl9pbnN0ID0gYXdhaXQgcmF0LmV4ZWN1dGlvbkVuZ2luZS5tYWtlTmV3Q29udHJhY3RJbnN0YW5jZShcbiAgICAgICAgY29udHJhY3REZWZpbml0aW9uLl9kZWYsXG4gICAgICAgIGVuY29kZVBhcmFtZXRlcnMocGFyYW1ldGVycywgaW5pdEFjdGlvbi5wYXJhbWV0ZXJzKSxcbiAgICAgICAgcmF0LmNvbnNlbnN1c0VuZ2luZSxcbiAgICAgICAgdGhpcy5jcnlwdG9yXG4gICAgKTtcbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5jb250cmFjdERlZmluaXRpb24gPSBjb250cmFjdERlZmluaXRpb247XG4gICAgdGhpcy5fc2V0dXBFdmVudEhhbmRsZXIoKVxuICB9XG5cbiAgX3NldHVwRXZlbnRIYW5kbGVyICgpIHtcbiAgICB0aGlzLl9pbnN0LmV2ZW50cy5vbihcIm1lc3NhZ2VcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm1lc3NhZ2VcIilcbiAgICB9KVxuICB9XG5cbiAgZ2V0RmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnN0LmN1cnJlbnRTdGF0ZS5nZXRGaWVsZFZhbHVlcyh0cnVlKVxuICB9XG5cbiAgZ2V0RmllbGRJbmZvKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbi5nZXRGaWVsZEluZm8oKTtcbiAgfVxuXG4gIGdldE1lc3NhZ2VDaGFpbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0Lm1lc3NhZ2VDaGFpbjtcbiAgfVxuXG4gIGdldExhc3RVcGRhdGVUaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5zdC5sYXN0VXBkYXRlO1xuICB9XG5cbiAgaGFzU3luY0Vycm9ycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3Quc3luY0Vycm9yO1xuICB9XG5cbiAgZ2V0QXBwbGljYWJsZUFjdGlvbnMoIHB1YmtleXMgKXtcbiAgICBpZiAocHVia2V5cyA9PT0gdW5kZWZpbmVkKVxuICAgICAgcHVia2V5cyA9IFt0aGlzLl9jb250ZXh0LnByaW5jaXBhbElkZW50aXR5LmdldFJhd0tleVBhaXIoKS5wdWJLZXldO1xuICAgIHJldHVybiB0aGlzLl9pbnN0LmN1cnJlbnRTdGF0ZS5nZXRBcHBsaWNhYmxlQWN0aW9ucyggcHVia2V5cyApO1xuICB9XG5cbiAgZ2V0QWN0aW9uSW5mbyhhY3Rpb25OYW1lKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbi5yNENvbnRyYWN0RGVmaW5pdGlvbi5hY3Rpb25zW2FjdGlvbk5hbWVdO1xuICB9XG5cbiAgZ2V0QWN0aW9uUGFyYW1zKGFjdGlvbk5hbWUpIHtcbiAgICAgcmV0dXJuIHRoaXMuY29udHJhY3REZWZpbml0aW9uLmdldEFjdGlvblBhcmFtcyhhY3Rpb25OYW1lKTtcbiAgfVxuXG4gIGdldENoYWluSUQgKCkge1xuICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHRocm93IEVycm9yKCdub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICByZXR1cm4gdGhpcy5faW5zdC5jaGFpbklEXG4gIH1cblxuICBnZXRMYXN0TWVzc2FnZUlEICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3QubGFzdE1lc3NhZ2VGcmFtZS5nZXRJRCgpO1xuICB9XG5cbiAgZ2V0TWV0YURhdGEgKCkgeyByZXR1cm4ge3Nlc3Npb25LZXk6IHRoaXMuc2Vzc2lvbktleX0gfVxuXG4gIHN5bmMgKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnN0LnN5bmMoKVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlTXVsdGlTaWcgKG1lc3NhZ2UpIHtcbiAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09ICdtdWx0aS1zaWctcHJvcG9zYWwnKSB7XG5cbiAgICAgICAgICBpZiAodGhpcy5tdWx0aVNpZ1N0YXRlLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICAgICAgLy8gaGFuZGxlIG9uZSBwcm9wb3NhbCBhdCB0aW1lLlxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkNvbmN1cnJlbnQgbWVzc2FnZSBwcm9wb3NhbCBpZ25vcmVkXCIpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcmF0ID0gdGhpcy5fY29udGV4dC5fcmF0YXRvc2s7XG4gICAgICAgICAgY29uc3QgcHJpbmNpcGFsSWRlbnRpdHkgPSB0aGlzLl9jb250ZXh0LnByaW5jaXBhbElkZW50aXR5O1xuICAgICAgICAgIGNvbnN0IGtleVBhaXIgPSBwcmluY2lwYWxJZGVudGl0eS5nZXRSYXdLZXlQYWlyKCk7XG5cbiAgICAgICAgICBjb25zdCBwcm9wb3NhbCA9IHJhdC5leGVjdXRpb25FbmdpbmUuZGVjb2RlTWVzc2FnZVByb3Bvc2FsKEJ1ZmZlci5mcm9tKG1lc3NhZ2UucHJvcG9zYWwsIFwiaGV4XCIpKTtcbiAgICAgICAgICBjb25zdCBsbSA9IHJhdC5leGVjdXRpb25FbmdpbmUuZGVjb2RlTWVzc2FnZShwcm9wb3NhbC5yYXdNZXNzYWdlLCB0aGlzLmNyeXB0b3IuZGVjcnlwdG9yKTtcbiAgICAgICAgICBpZiAocHJvcG9zYWwucmF3TWVzc2FnZS5nZXRQcmV2SUQoKSAhPT0gdGhpcy5nZXRMYXN0TWVzc2FnZUlEKCkpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJQcm9wb3NhbCBpcyBzdGFsZVwiKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5wcm9wb3NhbCA9IHByb3Bvc2FsO1xuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5hY3Rpb24gPSBsbS5hY3Rpb247XG4gICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLmluaXRpYXRlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5jb29yZGluYXRvciA9IG1lc3NhZ2Uuc2VuZGVyO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgYSBwcm9wb3NhbCB0byBzaWduXCIpO1xuICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLnR5cGUgPT09ICdtdWx0aS1zaWctc2lnJykge1xuICAgICAgICAgIGlmICghICh0aGlzLm11bHRpU2lnU3RhdGUuaXNBY3RpdmUoKSAmJiB0aGlzLm11bHRpU2lnU3RhdGUuaW5pdGlhdGVkKSlcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5wcm9wb3NhbC5hcHBseVNpZ25hdHVyZShCdWZmZXIuZnJvbShtZXNzYWdlLnNpZ25hdHVyZSwgXCJoZXhcIikpO1xuICAgICAgICAgIGlmICh0aGlzLm11bHRpU2lnU3RhdGUucHJvcG9zYWwuaXNGdWxseVNpZ25lZCgpKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUHJvcG9zYWwgaXMgZnVsbHkgc2lnbmVkLiBTdWJtaXR0aW5nIGl0IVwiKTtcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fY29udGV4dC5fcmF0YXRvc2suY29uc2Vuc3VzRW5naW5lLnBvc3RNZXNzYWdlKHRoaXMuZ2V0Q2hhaW5JRCgpLFxuICAgICAgICAgICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLnByb3Bvc2FsLnJhd01lc3NhZ2UpO1xuICAgICAgICAgICAgICBhd2FpdCB0aGlzLnN5bmMoKTtcbiAgICAgICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLnJlc2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgY2hlY2tBY3Rpb24oYWN0aW9uLCBwYXJhbXMpIHtcbiAgICAgIGlmICghKGFjdGlvbiBpbiB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbi5fZGVmLmFjdGlvbnMpKVxuICAgICAgICAgIHJldHVybiBFcnJvcihcIkFjdGlvbiBub3QgZm91bmRcIik7XG4gICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHNpZ25lZEJ5ID0gdGhpcy5faW5zdC5jdXJyZW50U3RhdGUuZ2V0QWN0aW9uU2lnbmVycyhhY3Rpb24pO1xuICAgICAgICAgIGNvbnN0IGFjdGlvblBhcmFtZXRlcnMgPSB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbi5fZGVmLmFjdGlvbnNbYWN0aW9uXS5wYXJhbWV0ZXJzO1xuICAgICAgICAgIHBhcmFtcyA9IGVuY29kZVBhcmFtZXRlcnMocGFyYW1zLCBhY3Rpb25QYXJhbWV0ZXJzKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5faW5zdC5jaGVja0FjdGlvbihhY3Rpb24sIHBhcmFtcywgc2lnbmVkQnkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJldHVybiBlO1xuICAgICAgfVxuICB9XG5cbiAgYXN5bmMgcGVyZm9ybUFjdGlvbiAoYWN0aW9uLCBwYXJhbXMpIHtcbiAgICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHRocm93IEVycm9yKCdub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICAgIGNvbnN0IGFjdGlvblBhcmFtZXRlcnMgPSB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbi5fZGVmLmFjdGlvbnNbYWN0aW9uXS5wYXJhbWV0ZXJzO1xuICAgICAgY29uc3QgcHJpbmNpcGFsSWRlbnRpdHkgPSB0aGlzLl9jb250ZXh0LnByaW5jaXBhbElkZW50aXR5O1xuICAgICAgY29uc3QgcmF0ID0gdGhpcy5fY29udGV4dC5fcmF0YXRvc2s7XG4gICAgICBjb25zdCBrZXlQYWlyID0gcHJpbmNpcGFsSWRlbnRpdHkuZ2V0UmF3S2V5UGFpcigpO1xuICAgICAgY29uc3QgZW5jb2RlZFBhcmFtcyA9IGVuY29kZVBhcmFtZXRlcnMocGFyYW1zLCBhY3Rpb25QYXJhbWV0ZXJzKTtcbiAgICAgIGNvbnN0IHNpbXBsZVNpZ25lciA9IHJhdC5leGVjdXRpb25FbmdpbmUubWFrZVNpbXBsZVNpZ25lcihrZXlQYWlyKTtcblxuICAgICAgaWYgKHRoaXMubXVsdGlTaWdTdGF0ZS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlTaWdTdGF0ZS5pbml0aWF0ZWQpIHRocm93IEVycm9yKFwiQWxyZWFkeSBpbml0aWF0ZWQsIHdhaXRpbmcgc2lnbmF0dXJlc1wiKTtcbiAgICAgICAgICBpZiAodGhpcy5tdWx0aVNpZ1N0YXRlLmFjdGlvbiA9PT0gYWN0aW9uICYmIHRoaXMubXVsdGlTaWdTdGF0ZS5zdWJtaXR0ZWQpIHtcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJTaWduYXR1cmUgYWxyZWFkeSBzdWJtaXR0ZWRcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLm11bHRpU2lnU3RhdGUuYWN0aW9uID09PSBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgY29uc3Qgc2lnbmF0dXJlID0gYXdhaXQgdGhpcy5tdWx0aVNpZ1N0YXRlLnByb3Bvc2FsLnNpZ24oa2V5UGFpci5wdWJLZXksIHNpbXBsZVNpZ25lcik7XG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NvbnRleHQuX21haWxib3guc2VuZE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUuY29vcmRpbmF0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm11bHRpLXNpZy1zaWdcIixcbiAgICAgICAgICAgICAgICAgICAgICBzZW5kZXI6IHByaW5jaXBhbElkZW50aXR5LmdldElEKCksXG4gICAgICAgICAgICAgICAgICAgICAgY2hhaW5JRDogdGhpcy5nZXRDaGFpbklEKCksXG4gICAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlOiBzaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLnJlc2V0KCk7IC8vIGNhbmNlbCBtdWx0aS1zaWcgYW5kIGRvIHNvbWV0aGluZyBlbHNlXG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzaWduZXJzID0gdGhpcy5faW5zdC5jdXJyZW50U3RhdGUuZ2V0QWN0aW9uU2lnbmVycyhhY3Rpb24pO1xuICAgICAgaWYgKHNpZ25lcnMgPT09IG51bGwpIHRocm93IEVycm9yKFwiVGhpcyBhY3Rpb24gY2Fubm90IGJlIHBlcmZvcm1lZFwiKTtcblxuICAgICAgaWYgKHNpZ25lcnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgaWYgKCFrZXlQYWlyLnB1YktleS5lcXVhbHMoc2lnbmVyc1swXSkpIHRocm93IEVycm9yKFwiU29tZWhvdyBhY3Rpb24gc2hvdWxkIGJlIHNpZ25lZCBieSBzb21lYm9keSBlbHNlLi4uXCIpO1xuXG4gICAgICAgICAgYXdhaXQgdGhpcy5jb250cmFjdERlZmluaXRpb24uYmVmb3JlQWN0aW9uKHRoaXMsIGFjdGlvbiwgcGFyYW1zKTtcblxuICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9pbnN0LnBlcmZvcm1BY3Rpb24oXG4gICAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgICAgZW5jb2RlZFBhcmFtcyxcbiAgICAgICAgICAgICAgc2lnbmVycyxcbiAgICAgICAgICAgICAgc2ltcGxlU2lnbmVyXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gbXVsdGktc2lnXG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuX2luc3QubWFrZU1lc3NhZ2UoYWN0aW9uLCBlbmNvZGVkUGFyYW1zLCBzaWduZXJzKTtcbiAgICAgICAgICBjb25zdCBwcm9wb3NhbEJ1ZmZlciA9IHJhdC5leGVjdXRpb25FbmdpbmUuZW5jb2RlTWVzc2FnZVByb3Bvc2FsKHRoaXMuZ2V0Q2hhaW5JRCgpLCBtZXNzYWdlKTtcbiAgICAgICAgICBjb25zdCBwcm9wb3NhbCA9IHJhdC5leGVjdXRpb25FbmdpbmUuZGVjb2RlTWVzc2FnZVByb3Bvc2FsKHByb3Bvc2FsQnVmZmVyKTtcbiAgICAgICAgICBwcm9wb3NhbC5hcHBseVNpZ25hdHVyZShhd2FpdCBwcm9wb3NhbC5zaWduKFxuICAgICAgICAgICAgICBrZXlQYWlyLnB1YktleSwgc2ltcGxlU2lnbmVyXG4gICAgICAgICAgKSk7XG4gICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLnByb3Bvc2FsID0gcHJvcG9zYWw7XG4gICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLmFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUuaW5pdGlhdGVkID0gdHJ1ZTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHNpZ25lciBvZiBzaWduZXJzKSB7XG4gICAgICAgICAgICAgIGlmIChzaWduZXIuZXF1YWxzKGtleVBhaXIucHViS2V5KSkgY29udGludWU7XG4gICAgICAgICAgICAgIHRoaXMuX2NvbnRleHQuX21haWxib3guc2VuZE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBzaWduZXIudG9TdHJpbmcoJ2hleCcpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJtdWx0aS1zaWctcHJvcG9zYWxcIixcbiAgICAgICAgICAgICAgICAgICAgICBjaGFpbklEOiB0aGlzLmdldENoYWluSUQoKSxcbiAgICAgICAgICAgICAgICAgICAgICBzZW5kZXI6IHByaW5jaXBhbElkZW50aXR5LmdldElEKCksXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWw6IHByb3Bvc2FsQnVmZmVyLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9jb250cmFjdGluc3RhbmNlLmpzIl0sIm5hbWVzIjpbIk11bHRpU2lnU3RhdGUiLCJpbnN0YW5jZSIsInJlc2V0IiwicHJvcG9zYWwiLCJhY3Rpb24iLCJpbml0aWF0ZWQiLCJjb29yZGluYXRvciIsInN1Ym1pdHRlZCIsInJhd01lc3NhZ2UiLCJnZXRQcmV2SUQiLCJnZXRMYXN0TWVzc2FnZUlEIiwiQ29udHJhY3RJbnN0YW5jZSIsImNvbnRleHQiLCJfY29udGV4dCIsIl9pbml0aWFsaXplZCIsImNvbnRyYWN0RGVmaW5pdGlvbiIsImNyeXB0b3IiLCJldmVudHMiLCJtdWx0aVNpZ1N0YXRlIiwiY2hhaW5JRCIsIm1ldGFEYXRhIiwicmF0IiwiX3JhdGF0b3NrIiwic2Vzc2lvbktleSIsImV4ZWN1dGlvbkVuZ2luZSIsIm1ha2VDcnlwdG9yIiwibG9hZENvbnRyYWN0SW5zdGFuY2UiLCJjb25zZW5zdXNFbmdpbmUiLCJ0aGVuIiwiX2luc3QiLCJpbnN0IiwiY29udHJhY3REZWZpbml0aW9uTWFuYWdlciIsImdldEJ5Q29udHJhY3RIYXNoIiwiY29udHJhY3RIYXNoIiwiRXJyb3IiLCJfc2V0dXBFdmVudEhhbmRsZXIiLCJzeW5jIiwicGFyYW1ldGVycyIsImluaXRBY3Rpb24iLCJfZGVmIiwiYWN0aW9ucyIsInVzZUVuY3J5cHRpb24iLCJyYW5kb21CeXRlcyIsIm1ha2VOZXdDb250cmFjdEluc3RhbmNlIiwib24iLCJlbWl0IiwiY3VycmVudFN0YXRlIiwiZ2V0RmllbGRWYWx1ZXMiLCJnZXRGaWVsZEluZm8iLCJtZXNzYWdlQ2hhaW4iLCJsYXN0VXBkYXRlIiwic3luY0Vycm9yIiwicHVia2V5cyIsInVuZGVmaW5lZCIsInByaW5jaXBhbElkZW50aXR5IiwiZ2V0UmF3S2V5UGFpciIsInB1YktleSIsImdldEFwcGxpY2FibGVBY3Rpb25zIiwiYWN0aW9uTmFtZSIsInI0Q29udHJhY3REZWZpbml0aW9uIiwiZ2V0QWN0aW9uUGFyYW1zIiwibGFzdE1lc3NhZ2VGcmFtZSIsImdldElEIiwiZ2V0QWN0aW9uU2lnbmVycyIsIm1lc3NhZ2UiLCJ0eXBlIiwiaXNBY3RpdmUiLCJjb25zb2xlIiwibG9nIiwia2V5UGFpciIsImRlY29kZU1lc3NhZ2VQcm9wb3NhbCIsIkJ1ZmZlciIsImZyb20iLCJsbSIsImRlY29kZU1lc3NhZ2UiLCJkZWNyeXB0b3IiLCJzZW5kZXIiLCJhcHBseVNpZ25hdHVyZSIsInNpZ25hdHVyZSIsImlzRnVsbHlTaWduZWQiLCJwb3N0TWVzc2FnZSIsImdldENoYWluSUQiLCJwYXJhbXMiLCJzaWduZWRCeSIsImFjdGlvblBhcmFtZXRlcnMiLCJjaGVja0FjdGlvbiIsImUiLCJlbmNvZGVkUGFyYW1zIiwic2ltcGxlU2lnbmVyIiwibWFrZVNpbXBsZVNpZ25lciIsInNpZ24iLCJfbWFpbGJveCIsInNlbmRNZXNzYWdlIiwidG9TdHJpbmciLCJzaWduZXJzIiwibGVuZ3RoIiwiZXF1YWxzIiwiYmVmb3JlQWN0aW9uIiwicGVyZm9ybUFjdGlvbiIsIm1ha2VNZXNzYWdlIiwicHJvcG9zYWxCdWZmZXIiLCJlbmNvZGVNZXNzYWdlUHJvcG9zYWwiLCJzaWduZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQTs7OztBQUNBOztBQUNBOzs7Ozs7SUFFTUEsYTtBQUNGLDJCQUFhQyxRQUFiLEVBQXVCO0FBQUE7O0FBQ25CLGFBQUtBLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsYUFBS0MsS0FBTDtBQUNIOzs7O2dDQUVRO0FBQ0wsaUJBQUtDLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxpQkFBS0MsTUFBTCxHQUFjLElBQWQ7QUFDQSxpQkFBS0MsU0FBTCxHQUFpQixLQUFqQjtBQUNBLGlCQUFLQyxXQUFMLEdBQW1CLElBQW5CO0FBQ0EsaUJBQUtDLFNBQUwsR0FBaUIsS0FBakI7QUFDSDs7O21DQUVVO0FBQ1AsZ0JBQUksS0FBS0osUUFBTCxLQUFrQixJQUF0QixFQUNJLE9BQU8sS0FBUCxDQURKLEtBRUssSUFB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QUEwQyxLQUFLcEIsVUFBTCxFQUExQyxFQUE2RGpCLE9BQTdELENBQXZCO0FBQ0Esd0JBQU03RCxXQUFXa0IsSUFBSUcsZUFBSixDQUFvQjhDLHFCQUFwQixDQUEwQzhCLGNBQTFDLENBQWpCO0FBQ0FqRyw2QkFBUzBFLGNBQVQsRUFBd0IsTUFBTTFFLFNBQVN1RixJQUFULENBQzFCckIsUUFBUWIsTUFEa0IsRUFDVmdDLFlBRFUsQ0FBOUI7QUFHQSx5QkFBS3RFLGFBQUwsQ0FBbUJmLFFBQW5CLEdBQThCQSxRQUE5QjtBQUNBLHlCQUFLZSxhQUFMLENBQW1CZCxNQUFuQixHQUE0QkEsTUFBNUI7QUFDQSx5QkFBS2MsYUFBTCxDQUFtQmIsU0FBbkIsR0FBK0IsSUFBL0I7QUFWRztBQUFBO0FBQUE7O0FBQUE7QUFXSCx3RUFBcUJ5RixPQUFyQiw0R0FBOEI7QUFBQSxnQ0FBbkJRLE1BQW1COztBQUMxQixnQ0FBSUEsT0FBT04sTUFBUCxDQUFjM0IsUUFBUWIsTUFBdEIsQ0FBSixFQUFtQztBQUNuQyxpQ0FBSzNDLFFBQUwsQ0FBYzhFLFFBQWQsQ0FBdUJDLFdBQXZCLENBQ0lVLE9BQU9ULFFBQVAsQ0FBZ0IsS0FBaEIsQ0FESixFQUM0QjtBQUNwQjVCLHNDQUFNLG9CQURjO0FBRXBCOUMseUNBQVMsS0FBSzhELFVBQUwsRUFGVztBQUdwQkwsd0NBQVF0QixrQkFBa0JRLEtBQWxCLEVBSFk7QUFJcEIzRCwwQ0FBVWlHLGVBQWVQLFFBQWYsQ0FBd0IsS0FBeEI7QUFKVSw2QkFENUI7QUFRSDtBQXJCRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBc0JOO0FBQ0osYTs7Ozs7Ozs7Ozs7O2tCQXBPa0JsRixnQiIsImZpbGUiOiJjb250cmFjdGluc3RhbmNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IENocm9tYVdheSBBQi4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYuIDIuMCwgc2VlIExJQ0VOU0UgXG4gKi9cblxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tICdldmVudHMnXG5pbXBvcnQge2VuY29kZVBhcmFtZXRlcnN9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmNsYXNzIE11bHRpU2lnU3RhdGUge1xuICAgIGNvbnN0cnVjdG9yIChpbnN0YW5jZSkge1xuICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG5cbiAgICByZXNldCAoKSB7XG4gICAgICAgIHRoaXMucHJvcG9zYWwgPSBudWxsO1xuICAgICAgICB0aGlzLmFjdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMuaW5pdGlhdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29vcmRpbmF0b3IgPSBudWxsO1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlzQWN0aXZlKCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wb3NhbCA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgZWxzZSBpZiAodGhpcy5wcm9wb3NhbC5yYXdNZXNzYWdlLmdldFByZXZJRCgpICE9PSB0aGlzLmluc3RhbmNlLmdldExhc3RNZXNzYWdlSUQoKSkge1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRyYWN0SW5zdGFuY2Uge1xuXG4gICAgY29uc3RydWN0b3IoY29udGV4dCkge1xuICAgICAgICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb250cmFjdERlZmluaXRpb24gPSBudWxsO1xuICAgICAgICB0aGlzLmNyeXB0b3IgPSBudWxsO1xuICAgICAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUgPSBuZXcgTXVsdGlTaWdTdGF0ZSh0aGlzKTtcbiAgICB9XG5cbiAgaW5pdGlhbGl6ZUV4aXN0aW5nIChjaGFpbklELCBtZXRhRGF0YSkge1xuICAgIGNvbnN0IHJhdCA9IHRoaXMuX2NvbnRleHQuX3JhdGF0b3NrO1xuICAgIHRoaXMuc2Vzc2lvbktleSA9IG1ldGFEYXRhLnNlc3Npb25LZXkgfHwgbnVsbDtcbiAgICB0aGlzLmNyeXB0b3IgPSByYXQuZXhlY3V0aW9uRW5naW5lLm1ha2VDcnlwdG9yKHRoaXMuc2Vzc2lvbktleSk7XG4gICAgcmV0dXJuIHJhdC5leGVjdXRpb25FbmdpbmUubG9hZENvbnRyYWN0SW5zdGFuY2UoXG4gICAgICAgIGNoYWluSUQsXG4gICAgICAgIHJhdC5jb25zZW5zdXNFbmdpbmUsXG4gICAgICAgIHRoaXMuY3J5cHRvclxuICAgICkudGhlbiggaW5zdCA9PiB7XG4gICAgICAgIHRoaXMuX2luc3QgPSBpbnN0O1xuICAgICAgICB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbiA9IHRoaXMuX2NvbnRleHQuY29udHJhY3REZWZpbml0aW9uTWFuYWdlci5nZXRCeUNvbnRyYWN0SGFzaChcbiAgICAgICAgICAgIHRoaXMuX2luc3QuY29udHJhY3REZWZpbml0aW9uLmNvbnRyYWN0SGFzaFxuICAgICAgICApO1xuICAgICAgICBpZiAoIXRoaXMuY29udHJhY3REZWZpbml0aW9uKSB0aHJvdyBFcnJvcihcImNvbnRyYWN0IGRlZmluaXRpb24gbm90IGZvdW5kXCIpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3NldHVwRXZlbnRIYW5kbGVyKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnN5bmMoKTtcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZU5ldyAoY29udHJhY3REZWZpbml0aW9uLCBwYXJhbWV0ZXJzKSB7XG4gICAgY29uc3QgaW5pdEFjdGlvbiA9IGNvbnRyYWN0RGVmaW5pdGlvbi5fZGVmLmFjdGlvbnNbJyRJTklUJ107XG4gICAgY29uc3QgcmF0ID0gdGhpcy5fY29udGV4dC5fcmF0YXRvc2s7XG4gICAgdGhpcy5zZXNzaW9uS2V5ID0gKHRoaXMuX2NvbnRleHQudXNlRW5jcnlwdGlvbikgPyBjcnlwdG8ucmFuZG9tQnl0ZXMoMzIpIDogbnVsbDtcbiAgICB0aGlzLmNyeXB0b3IgPSByYXQuZXhlY3V0aW9uRW5naW5lLm1ha2VDcnlwdG9yKHRoaXMuc2Vzc2lvbktleSk7XG4gICAgdGhpcy5faW5zdCA9IGF3YWl0IHJhdC5leGVjdXRpb25FbmdpbmUubWFrZU5ld0NvbnRyYWN0SW5zdGFuY2UoXG4gICAgICAgIGNvbnRyYWN0RGVmaW5pdGlvbi5fZGVmLFxuICAgICAgICBlbmNvZGVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMsIGluaXRBY3Rpb24ucGFyYW1ldGVycyksXG4gICAgICAgIHJhdC5jb25zZW5zdXNFbmdpbmUsXG4gICAgICAgIHRoaXMuY3J5cHRvclxuICAgICk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHRoaXMuY29udHJhY3REZWZpbml0aW9uID0gY29udHJhY3REZWZpbml0aW9uO1xuICAgIHRoaXMuX3NldHVwRXZlbnRIYW5kbGVyKClcbiAgfVxuXG4gIF9zZXR1cEV2ZW50SGFuZGxlciAoKSB7XG4gICAgdGhpcy5faW5zdC5ldmVudHMub24oXCJtZXNzYWdlXCIsICgpID0+IHtcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJtZXNzYWdlXCIpXG4gICAgfSlcbiAgfVxuXG4gIGdldEZpZWxkcygpIHtcbiAgICByZXR1cm4gdGhpcy5faW5zdC5jdXJyZW50U3RhdGUuZ2V0RmllbGRWYWx1ZXModHJ1ZSlcbiAgfVxuXG4gIGdldEZpZWxkSW5mbygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERlZmluaXRpb24uZ2V0RmllbGRJbmZvKCk7XG4gIH1cblxuICBnZXRNZXNzYWdlQ2hhaW4gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5zdC5tZXNzYWdlQ2hhaW47XG4gIH1cblxuICBnZXRMYXN0VXBkYXRlVGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3QubGFzdFVwZGF0ZTtcbiAgfVxuXG4gIGhhc1N5bmNFcnJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0LnN5bmNFcnJvcjtcbiAgfVxuXG4gIGdldEFwcGxpY2FibGVBY3Rpb25zKCBwdWJrZXlzICl7XG4gICAgaWYgKHB1YmtleXMgPT09IHVuZGVmaW5lZClcbiAgICAgIHB1YmtleXMgPSBbdGhpcy5fY29udGV4dC5wcmluY2lwYWxJZGVudGl0eS5nZXRSYXdLZXlQYWlyKCkucHViS2V5XTtcbiAgICByZXR1cm4gdGhpcy5faW5zdC5jdXJyZW50U3RhdGUuZ2V0QXBwbGljYWJsZUFjdGlvbnMoIHB1YmtleXMgKTtcbiAgfVxuXG4gIGdldEFjdGlvbkluZm8oYWN0aW9uTmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cmFjdERlZmluaXRpb24ucjRDb250cmFjdERlZmluaXRpb24uYWN0aW9uc1thY3Rpb25OYW1lXTtcbiAgfVxuXG4gIGdldEFjdGlvblBhcmFtcyhhY3Rpb25OYW1lKSB7XG4gICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGVmaW5pdGlvbi5nZXRBY3Rpb25QYXJhbXMoYWN0aW9uTmFtZSk7XG4gIH1cblxuICBnZXRDaGFpbklEICgpIHtcbiAgICBpZiAoIXRoaXMuX2luaXRpYWxpemVkKSB0aHJvdyBFcnJvcignbm90IGluaXRpYWxpemVkJyk7XG4gICAgcmV0dXJuIHRoaXMuX2luc3QuY2hhaW5JRFxuICB9XG5cbiAgZ2V0TGFzdE1lc3NhZ2VJRCAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0Lmxhc3RNZXNzYWdlRnJhbWUuZ2V0SUQoKTtcbiAgfVxuXG4gIGdldE1ldGFEYXRhICgpIHsgcmV0dXJuIHtzZXNzaW9uS2V5OiB0aGlzLnNlc3Npb25LZXl9IH1cblxuICBnZXRBY3Rpb25TaWduZXJzKGFjdGlvbk5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3QuY3VycmVudFN0YXRlLmdldEFjdGlvblNpZ25lcnMoYWN0aW9uTmFtZSk7XG4gIH1cblxuICBzeW5jICgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5zdC5zeW5jKClcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZU11bHRpU2lnIChtZXNzYWdlKSB7XG4gICAgICBpZiAobWVzc2FnZS50eXBlID09PSAnbXVsdGktc2lnLXByb3Bvc2FsJykge1xuXG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlTaWdTdGF0ZS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgICAgIC8vIGhhbmRsZSBvbmUgcHJvcG9zYWwgYXQgdGltZS5cbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJDb25jdXJyZW50IG1lc3NhZ2UgcHJvcG9zYWwgaWdub3JlZFwiKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHJhdCA9IHRoaXMuX2NvbnRleHQuX3JhdGF0b3NrO1xuICAgICAgICAgIGNvbnN0IHByaW5jaXBhbElkZW50aXR5ID0gdGhpcy5fY29udGV4dC5wcmluY2lwYWxJZGVudGl0eTtcbiAgICAgICAgICBjb25zdCBrZXlQYWlyID0gcHJpbmNpcGFsSWRlbnRpdHkuZ2V0UmF3S2V5UGFpcigpO1xuXG4gICAgICAgICAgY29uc3QgcHJvcG9zYWwgPSByYXQuZXhlY3V0aW9uRW5naW5lLmRlY29kZU1lc3NhZ2VQcm9wb3NhbChCdWZmZXIuZnJvbShtZXNzYWdlLnByb3Bvc2FsLCBcImhleFwiKSk7XG4gICAgICAgICAgY29uc3QgbG0gPSByYXQuZXhlY3V0aW9uRW5naW5lLmRlY29kZU1lc3NhZ2UocHJvcG9zYWwucmF3TWVzc2FnZSwgdGhpcy5jcnlwdG9yLmRlY3J5cHRvcik7XG4gICAgICAgICAgaWYgKHByb3Bvc2FsLnJhd01lc3NhZ2UuZ2V0UHJldklEKCkgIT09IHRoaXMuZ2V0TGFzdE1lc3NhZ2VJRCgpKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUHJvcG9zYWwgaXMgc3RhbGVcIik7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUucHJvcG9zYWwgPSBwcm9wb3NhbDtcbiAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUuYWN0aW9uID0gbG0uYWN0aW9uO1xuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5pbml0aWF0ZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUuY29vcmRpbmF0b3IgPSBtZXNzYWdlLnNlbmRlcjtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiR290IGEgcHJvcG9zYWwgdG8gc2lnblwiKTtcbiAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS50eXBlID09PSAnbXVsdGktc2lnLXNpZycpIHtcbiAgICAgICAgICBpZiAoISAodGhpcy5tdWx0aVNpZ1N0YXRlLmlzQWN0aXZlKCkgJiYgdGhpcy5tdWx0aVNpZ1N0YXRlLmluaXRpYXRlZCkpXG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUucHJvcG9zYWwuYXBwbHlTaWduYXR1cmUoQnVmZmVyLmZyb20obWVzc2FnZS5zaWduYXR1cmUsIFwiaGV4XCIpKTtcbiAgICAgICAgICBpZiAodGhpcy5tdWx0aVNpZ1N0YXRlLnByb3Bvc2FsLmlzRnVsbHlTaWduZWQoKSkge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIlByb3Bvc2FsIGlzIGZ1bGx5IHNpZ25lZC4gU3VibWl0dGluZyBpdCFcIik7XG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NvbnRleHQuX3JhdGF0b3NrLmNvbnNlbnN1c0VuZ2luZS5wb3N0TWVzc2FnZSh0aGlzLmdldENoYWluSUQoKSxcbiAgICAgICAgICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5wcm9wb3NhbC5yYXdNZXNzYWdlKTtcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zeW5jKCk7XG4gICAgICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5yZXNldCgpO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIGNoZWNrQWN0aW9uKGFjdGlvbiwgcGFyYW1zKSB7XG4gICAgICBpZiAoIShhY3Rpb24gaW4gdGhpcy5jb250cmFjdERlZmluaXRpb24uX2RlZi5hY3Rpb25zKSlcbiAgICAgICAgICByZXR1cm4gRXJyb3IoXCJBY3Rpb24gbm90IGZvdW5kXCIpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzaWduZWRCeSA9IHRoaXMuX2luc3QuY3VycmVudFN0YXRlLmdldEFjdGlvblNpZ25lcnMoYWN0aW9uKTtcbiAgICAgICAgICBjb25zdCBhY3Rpb25QYXJhbWV0ZXJzID0gdGhpcy5jb250cmFjdERlZmluaXRpb24uX2RlZi5hY3Rpb25zW2FjdGlvbl0ucGFyYW1ldGVycztcbiAgICAgICAgICBwYXJhbXMgPSBlbmNvZGVQYXJhbWV0ZXJzKHBhcmFtcywgYWN0aW9uUGFyYW1ldGVycyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2luc3QuY2hlY2tBY3Rpb24oYWN0aW9uLCBwYXJhbXMsIHNpZ25lZEJ5KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXR1cm4gZTtcbiAgICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBlcmZvcm1BY3Rpb24gKGFjdGlvbiwgcGFyYW1zKSB7XG4gICAgICBpZiAoIXRoaXMuX2luaXRpYWxpemVkKSB0aHJvdyBFcnJvcignbm90IGluaXRpYWxpemVkJyk7XG4gICAgICBjb25zdCBhY3Rpb25QYXJhbWV0ZXJzID0gdGhpcy5jb250cmFjdERlZmluaXRpb24uX2RlZi5hY3Rpb25zW2FjdGlvbl0ucGFyYW1ldGVycztcbiAgICAgIGNvbnN0IHByaW5jaXBhbElkZW50aXR5ID0gdGhpcy5fY29udGV4dC5wcmluY2lwYWxJZGVudGl0eTtcbiAgICAgIGNvbnN0IHJhdCA9IHRoaXMuX2NvbnRleHQuX3JhdGF0b3NrO1xuICAgICAgY29uc3Qga2V5UGFpciA9IHByaW5jaXBhbElkZW50aXR5LmdldFJhd0tleVBhaXIoKTtcbiAgICAgIGNvbnN0IGVuY29kZWRQYXJhbXMgPSBlbmNvZGVQYXJhbWV0ZXJzKHBhcmFtcywgYWN0aW9uUGFyYW1ldGVycyk7XG4gICAgICBjb25zdCBzaW1wbGVTaWduZXIgPSByYXQuZXhlY3V0aW9uRW5naW5lLm1ha2VTaW1wbGVTaWduZXIoa2V5UGFpcik7XG5cbiAgICAgIGlmICh0aGlzLm11bHRpU2lnU3RhdGUuaXNBY3RpdmUoKSkge1xuICAgICAgICAgIGlmICh0aGlzLm11bHRpU2lnU3RhdGUuaW5pdGlhdGVkKSB0aHJvdyBFcnJvcihcIkFscmVhZHkgaW5pdGlhdGVkLCB3YWl0aW5nIHNpZ25hdHVyZXNcIik7XG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlTaWdTdGF0ZS5hY3Rpb24gPT09IGFjdGlvbiAmJiB0aGlzLm11bHRpU2lnU3RhdGUuc3VibWl0dGVkKSB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFwiU2lnbmF0dXJlIGFscmVhZHkgc3VibWl0dGVkXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5tdWx0aVNpZ1N0YXRlLmFjdGlvbiA9PT0gYWN0aW9uKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMubXVsdGlTaWdTdGF0ZS5wcm9wb3NhbC5zaWduKGtleVBhaXIucHViS2V5LCBzaW1wbGVTaWduZXIpO1xuICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jb250ZXh0Ll9tYWlsYm94LnNlbmRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLmNvb3JkaW5hdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJtdWx0aS1zaWctc2lnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgc2VuZGVyOiBwcmluY2lwYWxJZGVudGl0eS5nZXRJRCgpLFxuICAgICAgICAgICAgICAgICAgICAgIGNoYWluSUQ6IHRoaXMuZ2V0Q2hhaW5JRCgpLFxuICAgICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZTogc2lnbmF0dXJlLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLm11bHRpU2lnU3RhdGUuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5yZXNldCgpOyAvLyBjYW5jZWwgbXVsdGktc2lnIGFuZCBkbyBzb21ldGhpbmcgZWxzZVxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2lnbmVycyA9IHRoaXMuX2luc3QuY3VycmVudFN0YXRlLmdldEFjdGlvblNpZ25lcnMoYWN0aW9uKTtcbiAgICAgIGlmIChzaWduZXJzID09PSBudWxsKSB0aHJvdyBFcnJvcihcIlRoaXMgYWN0aW9uIGNhbm5vdCBiZSBwZXJmb3JtZWRcIik7XG5cbiAgICAgIGlmIChzaWduZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIGlmICgha2V5UGFpci5wdWJLZXkuZXF1YWxzKHNpZ25lcnNbMF0pKSB0aHJvdyBFcnJvcihcIlNvbWVob3cgYWN0aW9uIHNob3VsZCBiZSBzaWduZWQgYnkgc29tZWJvZHkgZWxzZS4uLlwiKTtcblxuICAgICAgICAgIGF3YWl0IHRoaXMuY29udHJhY3REZWZpbml0aW9uLmJlZm9yZUFjdGlvbih0aGlzLCBhY3Rpb24sIHBhcmFtcyk7XG5cbiAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5faW5zdC5wZXJmb3JtQWN0aW9uKFxuICAgICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICAgIGVuY29kZWRQYXJhbXMsXG4gICAgICAgICAgICAgIHNpZ25lcnMsXG4gICAgICAgICAgICAgIHNpbXBsZVNpZ25lclxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIG11bHRpLXNpZ1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLl9pbnN0Lm1ha2VNZXNzYWdlKGFjdGlvbiwgZW5jb2RlZFBhcmFtcywgc2lnbmVycyk7XG4gICAgICAgICAgY29uc3QgcHJvcG9zYWxCdWZmZXIgPSByYXQuZXhlY3V0aW9uRW5naW5lLmVuY29kZU1lc3NhZ2VQcm9wb3NhbCh0aGlzLmdldENoYWluSUQoKSwgbWVzc2FnZSk7XG4gICAgICAgICAgY29uc3QgcHJvcG9zYWwgPSByYXQuZXhlY3V0aW9uRW5naW5lLmRlY29kZU1lc3NhZ2VQcm9wb3NhbChwcm9wb3NhbEJ1ZmZlcik7XG4gICAgICAgICAgcHJvcG9zYWwuYXBwbHlTaWduYXR1cmUoYXdhaXQgcHJvcG9zYWwuc2lnbihcbiAgICAgICAgICAgICAga2V5UGFpci5wdWJLZXksIHNpbXBsZVNpZ25lclxuICAgICAgICAgICkpO1xuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5wcm9wb3NhbCA9IHByb3Bvc2FsO1xuICAgICAgICAgIHRoaXMubXVsdGlTaWdTdGF0ZS5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgICAgdGhpcy5tdWx0aVNpZ1N0YXRlLmluaXRpYXRlZCA9IHRydWU7XG4gICAgICAgICAgZm9yIChjb25zdCBzaWduZXIgb2Ygc2lnbmVycykge1xuICAgICAgICAgICAgICBpZiAoc2lnbmVyLmVxdWFscyhrZXlQYWlyLnB1YktleSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB0aGlzLl9jb250ZXh0Ll9tYWlsYm94LnNlbmRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgc2lnbmVyLnRvU3RyaW5nKCdoZXgnKSwge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibXVsdGktc2lnLXByb3Bvc2FsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgY2hhaW5JRDogdGhpcy5nZXRDaGFpbklEKCksXG4gICAgICAgICAgICAgICAgICAgICAgc2VuZGVyOiBwcmluY2lwYWxJZGVudGl0eS5nZXRJRCgpLFxuICAgICAgICAgICAgICAgICAgICAgIHByb3Bvc2FsOiBwcm9wb3NhbEJ1ZmZlci50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxufVxuIl19 |
@@ -134,2 +134,6 @@ /* | ||
getActionSigners(actionName) { | ||
return this._inst.currentState.getActionSigners(actionName); | ||
} | ||
sync () { | ||
@@ -136,0 +140,0 @@ return this._inst.sync() |
{ | ||
"name": "esplix", | ||
"version": "4.1.1", | ||
"version": "4.1.2", | ||
"description": "Esplix smart contract layer", | ||
@@ -5,0 +5,0 @@ "main": "lib.es5/index.js", |
@@ -94,3 +94,3 @@ /* | ||
submitted: boolean; | ||
reset(); | ||
reset():void; | ||
isActive(): boolean; | ||
@@ -102,2 +102,3 @@ } | ||
multiSigState: MultiSigState; | ||
getActionSigners(actionName: string): string[]; | ||
getChainID(): string; | ||
@@ -104,0 +105,0 @@ getFields(): Parameters; |
227295
3023