@dydxprotocol/v4-client-js 1.16.3 → 1.18.0

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.
Files changed (118) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/build/examples/constants.d.ts +1 -0
  3. package/build/examples/constants.js +3 -2
  4. package/build/examples/permissioned_keys_example.d.ts +1 -0
  5. package/build/examples/permissioned_keys_example.js +85 -0
  6. package/build/examples/websocket_orderbook_example.d.ts +1 -0
  7. package/build/examples/websocket_orderbook_example.js +198 -0
  8. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.d.ts +158 -158
  9. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +126 -126
  10. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.d.ts +12 -0
  11. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.js +34 -0
  12. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/params.d.ts +21 -0
  13. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/params.js +37 -2
  14. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.d.ts +34 -1
  15. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.js +72 -2
  16. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.d.ts +4 -1
  17. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +7 -1
  18. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +2021 -1711
  19. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +272 -266
  20. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/finalize_block.d.ts +23 -0
  21. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/finalize_block.js +64 -0
  22. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.d.ts +5 -0
  23. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.js +11 -1
  24. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts +31 -0
  25. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +94 -5
  26. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.d.ts +2 -1
  27. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.js +7 -1
  28. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +5 -1
  29. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +10 -1
  30. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/streaming.d.ts +6 -1
  31. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/streaming.js +19 -2
  32. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.d.ts +79 -6
  33. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +78 -2
  34. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.d.ts +1 -0
  35. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.js +4 -1
  36. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.d.ts +4 -0
  37. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.js +11 -2
  38. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.lcd.d.ts +2 -1
  39. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.lcd.js +7 -1
  40. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.d.ts +39 -0
  41. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.js +72 -2
  42. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.d.ts +7 -1
  43. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.js +7 -1
  44. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.d.ts +25 -0
  45. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.js +64 -2
  46. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.lcd.d.ts +2 -1
  47. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.lcd.js +7 -1
  48. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.d.ts +5 -1
  49. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +10 -1
  50. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_param.d.ts +8 -0
  51. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_param.js +1 -1
  52. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_price.d.ts +3 -0
  53. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_price.js +1 -1
  54. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.d.ts +34 -0
  55. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.js +64 -2
  56. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.lcd.d.ts +2 -1
  57. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.lcd.js +7 -1
  58. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.rpc.Query.d.ts +5 -1
  59. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.rpc.Query.js +10 -1
  60. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/streaming.d.ts +23 -0
  61. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/streaming.js +81 -0
  62. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.d.ts +25 -1
  63. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.js +63 -2
  64. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.d.ts +2 -1
  65. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.js +7 -1
  66. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.d.ts +5 -1
  67. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.js +10 -1
  68. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.d.ts +1 -1
  69. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +4 -0
  70. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/streaming.d.ts +1 -1
  71. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/streaming.js +5 -5
  72. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.d.ts +21 -0
  73. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.js +55 -3
  74. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.d.ts +1 -6
  75. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.js +4 -12
  76. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.d.ts +1 -2
  77. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.js +1 -13
  78. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.d.ts +51 -24
  79. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.js +98 -46
  80. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +2 -2
  81. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.d.ts +174 -174
  82. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +12 -12
  83. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.d.ts +365 -365
  84. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +21 -21
  85. package/build/src/clients/composite-client.d.ts +12 -3
  86. package/build/src/clients/composite-client.js +22 -8
  87. package/build/src/clients/constants.d.ts +10 -0
  88. package/build/src/clients/constants.js +17 -4
  89. package/build/src/clients/lib/registry.js +26 -22
  90. package/build/src/clients/modules/composer.d.ts +3 -0
  91. package/build/src/clients/modules/composer.js +23 -1
  92. package/build/src/clients/modules/get.d.ts +2 -0
  93. package/build/src/clients/modules/get.js +9 -1
  94. package/build/src/clients/modules/local-wallet.d.ts +4 -4
  95. package/build/src/clients/modules/local-wallet.js +3 -3
  96. package/build/src/clients/modules/post.d.ts +4 -2
  97. package/build/src/clients/modules/post.js +15 -6
  98. package/build/src/clients/modules/signer.d.ts +5 -3
  99. package/build/src/clients/modules/signer.js +53 -14
  100. package/build/src/clients/modules/utility.d.ts +7 -1
  101. package/build/src/clients/modules/utility.js +10 -1
  102. package/build/src/clients/types.d.ts +22 -0
  103. package/build/src/clients/types.js +19 -2
  104. package/build/tsconfig.tsbuildinfo +1 -1
  105. package/examples/constants.ts +2 -0
  106. package/examples/permissioned_keys_example.ts +110 -0
  107. package/examples/websocket_orderbook_example.ts +252 -0
  108. package/package.json +2 -2
  109. package/src/clients/composite-client.ts +40 -3
  110. package/src/clients/constants.ts +16 -1
  111. package/src/clients/lib/registry.ts +8 -0
  112. package/src/clients/modules/composer.ts +39 -0
  113. package/src/clients/modules/get.ts +16 -0
  114. package/src/clients/modules/local-wallet.ts +6 -6
  115. package/src/clients/modules/post.ts +44 -1
  116. package/src/clients/modules/signer.ts +79 -13
  117. package/src/clients/modules/utility.ts +16 -1
  118. package/src/clients/types.ts +25 -0
@@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Get = void 0;
30
30
  const stargate_1 = require("@cosmjs/stargate");
31
+ const query_1 = require("@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query");
31
32
  const AuthModule = __importStar(require("cosmjs-types/cosmos/auth/v1beta1/query"));
32
33
  const BankModule = __importStar(require("cosmjs-types/cosmos/bank/v1beta1/query"));
33
34
  const long_1 = __importDefault(require("long"));
@@ -375,6 +376,13 @@ class Get {
375
376
  const data = await this.sendQuery('/dydxprotocol.affiliates.Query/AffiliateWhitelist', requestData);
376
377
  return proto_includes_1.AffiliateModule.AffiliateWhitelistResponse.decode(data);
377
378
  }
379
+ async getAuthenticators(address) {
380
+ const requestData = Uint8Array.from(query_1.GetAuthenticatorsRequest.encode({
381
+ account: address,
382
+ }).finish());
383
+ const data = await this.sendQuery('/dydxprotocol.accountplus.Query/GetAuthenticators', requestData);
384
+ return query_1.GetAuthenticatorsResponse.decode(data);
385
+ }
378
386
  async sendQuery(requestUrl, requestData) {
379
387
  // eslint-disable-next-line max-len
380
388
  const resp = await this.stargateQueryClient.queryAbci(requestUrl, requestData);
@@ -382,4 +390,4 @@ class Get {
382
390
  }
383
391
  }
384
392
  exports.Get = Get;
385
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FPMEI7QUFDMUIsbUZBQXFFO0FBQ3JFLG1GQUFxRTtBQUVyRSxnREFBd0I7QUFDeEIsNERBQWtDO0FBRWxDLCtDQUFrRDtBQUNsRCw0Q0FBNEM7QUFDNUMsMENBQXNEO0FBQ3RELHFEQWdCMEI7QUFHMUIsb0VBQW9FO0FBQ3BFLDZFQUE2RTtBQUM3RSxtRkFBbUY7QUFDbkYsa0VBQWtFO0FBQ2xFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFhLEdBQUc7SUFJZCxZQUNFLGdCQUFrQyxFQUNsQyxtQkFBc0Q7UUFFdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxXQUFXO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsaUJBQWlCO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsV0FBVztRQUNmLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQ2pDLDhCQUFhLENBQUMsOEJBQThCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUNqRSxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQyxpREFBaUQsRUFDakQsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLDhCQUFhLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFlO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQ2pDLDhCQUFhLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ3pFLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQzNDLDBDQUEwQyxFQUMxQyxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU8sOEJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUNoQixPQUFlO1FBRWYsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDakMsNEJBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDckUsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0MscUNBQXFDLEVBQ3JDLFdBQVcsQ0FDWixDQUFDO1FBQ0YsT0FBTyw0QkFBVyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBZTtRQUN0QyxNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3QyxVQUFVLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDaEUsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0Msd0NBQXdDLEVBQ3hDLFdBQVcsQ0FDWixDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsS0FBYTtRQUNwRCxNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3QyxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1lBQ3BDLE9BQU87WUFDUCxLQUFLO1NBQ04sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUNaLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQzNDLG9DQUFvQyxFQUNwQyxXQUFXLENBQ1osQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3QyxrQ0FBaUIsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ2hFLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQzNDLCtDQUErQyxFQUMvQyxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU8sa0NBQWlCLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FDakIsT0FBZSxFQUNmLGFBQXFCO1FBRXJCLE1BQU0sV0FBVyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQzdDLGtDQUFpQixDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztZQUNqRCxLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxhQUFhO1NBQ3RCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQyw0Q0FBNEMsRUFDNUMsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLGtDQUFpQixDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyw4QkFBYSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTFGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0Msb0NBQW9DLEVBQ3BDLFdBQVcsQ0FDWixDQUFDO1FBQ0YsT0FBTyw4QkFBYSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sV0FBVyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQzdDLDJCQUFVLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLHdCQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUNqRixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQyxzQ0FBc0MsRUFDdEMsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLDJCQUFVLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFjO1FBQzlCLE1BQU0sV0FBVyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQzdDLDJCQUFVLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ25FLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEcsT0FBTywyQkFBVSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE1BQU0sV0FBVyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQzdDLDZCQUFZLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLHdCQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUN2RixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQyw0Q0FBNEMsRUFDNUMsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLDZCQUFZLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFnQjtRQUM3QixNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3Qyw2QkFBWSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUN2RSxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQyx3Q0FBd0MsRUFDeEMsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLDZCQUFZLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3QyxpQ0FBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxVQUFVLEVBQUUsd0JBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ3pGLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQzNDLDhDQUE4QyxFQUM5QyxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU8saUNBQWdCLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFtQjtRQUNwQyxNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3QyxpQ0FBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDNUUsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0MsMENBQTBDLEVBQzFDLFdBQVcsQ0FDWixDQUFDO1FBQ0YsT0FBTyxpQ0FBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZTtRQUM5QixNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3QyxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDNUQsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0Msb0NBQW9DLEVBQ3BDLFdBQVcsQ0FDWixDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQW9CLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRXpGLHlFQUF5RTtRQUN6RSxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDNUIsTUFBTSxJQUFJLDhCQUFxQixFQUFFLENBQUM7U0FDbkM7UUFDRCxPQUFPLElBQUEseUJBQWMsRUFBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQywrQkFBK0I7UUFDbkMsTUFBTSxXQUFXLEdBQWUsVUFBVSxDQUFDLElBQUksQ0FDN0MsMkJBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ3hFLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQzNDLHVEQUF1RCxFQUN2RCxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU8sMkJBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLHVCQUF1QixDQUMzQixhQUFxQjtRQUVyQixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyw4QkFBYSxDQUFDLGdDQUFnQyxDQUFDLE1BQU0sQ0FBQztZQUNwRCxhQUFhO1lBQ2IsVUFBVSxFQUFFLHdCQUFZO1NBQ3pCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQyxvREFBb0QsRUFDcEQsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLDhCQUFhLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxnQ0FBZ0MsQ0FDcEMsYUFBcUI7UUFFckIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDakMsOEJBQWEsQ0FBQyx5Q0FBeUMsQ0FBQyxNQUFNLENBQUM7WUFDN0QsYUFBYTtZQUNiLFVBQVUsRUFBRSx3QkFBWTtTQUN6QixDQUFDLENBQUMsTUFBTSxFQUFFLENBQ1osQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0MsNkRBQTZELEVBQzdELFdBQVcsQ0FDWixDQUFDO1FBQ0YsT0FBTyw4QkFBYSxDQUFDLDBDQUEwQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMseUJBQXlCLENBQzdCLGdCQUF3QjtRQUV4QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyxtQ0FBa0IsQ0FBQyxrQ0FBa0MsQ0FBQyxNQUFNLENBQUM7WUFDM0QsZ0JBQWdCO1NBQ2pCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQywyREFBMkQsRUFDM0QsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLG1DQUFrQixDQUFDLG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxnQ0FBZ0MsQ0FDcEMsVUFBa0IsRUFBRTtRQUVwQixNQUFNLFdBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUM3Qyw2QkFBWSxDQUFDLHlDQUF5QyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ3BGLENBQUM7UUFFRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQzNDLDBEQUEwRCxFQUMxRCxXQUFXLENBQ1osQ0FBQztRQUNGLE9BQU8sNkJBQVksQ0FBQywwQ0FBMEMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRTtRQUN4QyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyw4QkFBYSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUMxQyxNQUFNO1lBQ04sVUFBVSxFQUFFLHdCQUFZO1NBQ3pCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMzQywwQ0FBMEMsRUFDMUMsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLDhCQUFhLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxrQkFBa0IsQ0FDdEIsaUJBQWlDLCtCQUFjLENBQUMsNkJBQTZCLEVBQzdFLFFBQWdCLEVBQUUsRUFDbEIsWUFBb0IsRUFBRTtRQUV0QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyw0QkFBVyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztZQUN2QyxjQUFjO1lBQ2QsS0FBSztZQUNMLFNBQVM7WUFDVCxVQUFVLEVBQUUsd0JBQVk7U0FDekIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUNaLENBQUM7UUFDRixNQUFNLElBQUksR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDN0YsT0FBTyw0QkFBVyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9DQUFvQyxDQUN4QyxXQUFtQjtRQUVuQixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyxrQ0FBaUIsQ0FBQyxnREFBZ0QsQ0FBQyxNQUFNLENBQUM7WUFDeEUsV0FBVztTQUNaLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUMvQixzRUFBc0UsRUFDdEUsV0FBVyxDQUNaLENBQUM7UUFFRixPQUFPLGtDQUFpQixDQUFDLGlEQUFpRCxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QixDQUNoQyxLQUFhO1FBRWIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDakMsZ0NBQWUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUM7WUFDakQsS0FBSztTQUNOLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLCtDQUErQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRWhHLE9BQU8sZ0NBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELEtBQUssQ0FBQyx1QkFBdUIsQ0FDM0IsT0FBZTtRQUVmLE1BQU0sV0FBVyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQzdDLDRCQUFXLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxDQUFDO1lBQ2xELE9BQU87U0FDUixDQUFDLENBQUMsTUFBTSxFQUFFLENBQ1osQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0MsZ0RBQWdELEVBQ2hELFdBQVcsQ0FDWixDQUFDO1FBRUYsT0FBTyw0QkFBVyxDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLDBCQUEwQixDQUM5QixnQkFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQWUsVUFBVSxDQUFDLElBQUksQ0FDN0MsNEJBQVcsQ0FBQyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUM7WUFDckQsZ0JBQWdCLEVBQUU7Z0JBQ2hCLFNBQVMsRUFBRSxJQUFBLHVCQUFhLEVBQUMsZ0JBQWdCLENBQUM7YUFDM0M7U0FDRixDQUFDLENBQUMsTUFBTSxFQUFFLENBQ1osQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFlLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDM0MsbURBQW1ELEVBQ25ELFdBQVcsQ0FDWixDQUFDO1FBRUYsT0FBTyw0QkFBVyxDQUFDLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BQWU7UUFDcEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDakMsZ0NBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDMUMsT0FBTztTQUNSLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDhDQUE4QyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRS9GLE9BQU8sZ0NBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZTtRQUNqQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyxnQ0FBZSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUN2QyxPQUFPO1NBQ1IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUNaLENBQUM7UUFFRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsMkNBQTJDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFNUYsT0FBTyxnQ0FBZSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQjtRQUN4QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyxnQ0FBZSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDN0QsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDL0Isa0RBQWtELEVBQ2xELFdBQVcsQ0FDWixDQUFDO1FBRUYsT0FBTyxnQ0FBZSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQjtRQUN6QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyxnQ0FBZSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDOUQsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDL0IsbURBQW1ELEVBQ25ELFdBQVcsQ0FDWixDQUFDO1FBRUYsT0FBTyxnQ0FBZSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFdBQXVCO1FBQ2pFLG1DQUFtQztRQUNuQyxNQUFNLElBQUksR0FBc0IsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUN0RSxVQUFVLEVBQ1YsV0FBVyxDQUNaLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBaGtCRCxrQkFna0JDIn0=
393
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FPMEI7QUFDMUIsNkZBQXdJO0FBQ3hJLG1GQUFxRTtBQUNyRSxtRkFBcUU7QUFFckUsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQywrQ0FBa0Q7QUFDbEQsNENBQTRDO0FBQzVDLDBDQUFzRDtBQUN0RCxxREFnQjBCO0FBRzFCLG9FQUFvRTtBQUNwRSw2RUFBNkU7QUFDN0UsbUZBQW1GO0FBQ25GLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDO0FBQzFCLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFFckIsTUFBYSxHQUFHO0lBSWQsWUFDRSxnQkFBa0MsRUFDbEMsbUJBQXNEO1FBRXRELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsV0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFdBQVc7UUFDZixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUNqQyw4QkFBYSxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxN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
@@ -1,5 +1,5 @@
1
1
  import { Secp256k1Pubkey, StdFee } from '@cosmjs/amino';
2
- import { AccountData, EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';
2
+ import { AccountData, EncodeObject, OfflineDirectSigner } from '@cosmjs/proto-signing';
3
3
  import { TransactionOptions } from '../types';
4
4
  import { TransactionSigner } from './signer';
5
5
  export default class LocalWallet {
@@ -7,10 +7,10 @@ export default class LocalWallet {
7
7
  address?: string;
8
8
  pubKey?: Secp256k1Pubkey;
9
9
  signer?: TransactionSigner;
10
- offlineSigner?: OfflineSigner;
11
- static fromOfflineSigner(signer: OfflineSigner): Promise<LocalWallet>;
10
+ offlineSigner?: OfflineDirectSigner;
11
+ static fromOfflineSigner(signer: OfflineDirectSigner): Promise<LocalWallet>;
12
12
  static fromMnemonic(mnemonic: string, prefix?: string): Promise<LocalWallet>;
13
- setSigner(signer: OfflineSigner): Promise<void>;
13
+ setSigner(signer: OfflineDirectSigner): Promise<void>;
14
14
  setMnemonic(mnemonic: string, prefix?: string): Promise<void>;
15
15
  signTransaction(messages: EncodeObject[], transactionOptions: TransactionOptions, fee?: StdFee, memo?: string): Promise<Uint8Array>;
16
16
  }
@@ -34,15 +34,15 @@ class LocalWallet {
34
34
  this.accounts = [...accountData];
35
35
  this.address = firstAccount.address;
36
36
  this.pubKey = (0, amino_1.encodeSecp256k1Pubkey)(firstAccount.pubkey);
37
- this.signer = new signer_1.TransactionSigner(this.address, stargateClient);
37
+ this.signer = new signer_1.TransactionSigner(this.address, stargateClient, signer);
38
38
  }
39
39
  async setMnemonic(mnemonic, prefix) {
40
40
  const signer = await proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { prefix });
41
41
  return this.setSigner(signer);
42
42
  }
43
43
  async signTransaction(messages, transactionOptions, fee, memo = '') {
44
- return this.signer.signTransaction(messages, transactionOptions, fee, memo);
44
+ return this.signer.signTransaction(messages, transactionOptions, fee, memo, this.pubKey);
45
45
  }
46
46
  }
47
47
  exports.default = LocalWallet;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtd2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9sb2NhbC13YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5Q0FBK0U7QUFDL0UseURBSytCO0FBQy9CLCtDQUF5RDtBQUN6RCxnREFBd0I7QUFDeEIsNERBQWtDO0FBRWxDLDhDQUFtRDtBQUVuRCxxQ0FBNkM7QUFFN0Msb0VBQW9FO0FBQ3BFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFxQixXQUFXO0lBTzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBcUI7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsTUFBZTtRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBcUI7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDNUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQ0FBcUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pFLFFBQVEsRUFBRSxJQUFBLDJCQUFnQixHQUFFO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLDZCQUFxQixFQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksMEJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE1BQWU7UUFDakQsTUFBTSxNQUFNLEdBQUcsTUFBTSx1Q0FBdUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQzFCLFFBQXdCLEVBQ3hCLGtCQUFzQyxFQUN0QyxHQUFZLEVBQ1osT0FBZSxFQUFFO1FBRWpCLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDO0NBQ0Y7QUE3Q0QsOEJBNkNDIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtd2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9sb2NhbC13YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5Q0FBK0U7QUFDL0UseURBSytCO0FBQy9CLCtDQUF5RDtBQUN6RCxnREFBd0I7QUFDeEIsNERBQWtDO0FBRWxDLDhDQUFtRDtBQUVuRCxxQ0FBNkM7QUFFN0Msb0VBQW9FO0FBQ3BFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFxQixXQUFXO0lBTzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBMkI7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsTUFBZTtRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBMkI7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDNUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQ0FBcUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pFLFFBQVEsRUFBRSxJQUFBLDJCQUFnQixHQUFFO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLDZCQUFxQixFQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksMEJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBZ0IsRUFBRSxNQUFlO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sdUNBQXVCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUMxQixRQUF3QixFQUN4QixrQkFBc0MsRUFDdEMsR0FBWSxFQUNaLE9BQWUsRUFBRTtRQUVqQixPQUFPLElBQUksQ0FBQyxNQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0Y7QUE3Q0QsOEJBNkNDIn0=
@@ -2,7 +2,7 @@ import { EncodeObject } from '@cosmjs/proto-signing';
2
2
  import { Account, GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
3
3
  import { BroadcastTxAsyncResponse, BroadcastTxSyncResponse } from '@cosmjs/tendermint-rpc/build/tendermint37';
4
4
  import Long from 'long';
5
- import { SelectedGasDenom } from '../constants';
5
+ import { AuthenticatorType, SelectedGasDenom } from '../constants';
6
6
  import { SubaccountInfo } from '../subaccount';
7
7
  import { OrderFlags, BroadcastMode, IPlaceOrder, ICancelOrder, DenomConfig } from '../types';
8
8
  import { Composer } from './composer';
@@ -56,7 +56,7 @@ export declare class Post {
56
56
  * at any point.
57
57
  * @returns The Tx Hash.
58
58
  */
59
- send(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, broadcastMode?: BroadcastMode, account?: () => Promise<Account>, gasAdjustment?: number): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
59
+ send(wallet: LocalWallet, messaging: () => Promise<EncodeObject[]>, zeroFee: boolean, gasPrice?: GasPrice, memo?: string, broadcastMode?: BroadcastMode, account?: () => Promise<Account>, gasAdjustment?: number, authenticators?: Long[]): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
60
60
  /**
61
61
  * @description Calculate the default broadcast mode.
62
62
  */
@@ -124,4 +124,6 @@ export declare class Post {
124
124
  registerAffiliateMsg(...args: Parameters<Composer['composeMsgRegisterAffiliate']>): EncodeObject;
125
125
  launchMarketMsg(...args: Parameters<Composer['composeMsgCreateMarketPermissionless']>): EncodeObject;
126
126
  createMarketPermissionless(ticker: string, subaccount: SubaccountInfo, broadcastMode?: BroadcastMode, gasAdjustment?: number, memo?: string): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
127
+ addAuthenticator(subaccount: SubaccountInfo, authenticatorType: AuthenticatorType, data: Uint8Array): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
128
+ removeAuthenticator(subaccount: SubaccountInfo, id: Long): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
127
129
  }
@@ -106,12 +106,12 @@ class Post {
106
106
  * at any point.
107
107
  * @returns The Tx Hash.
108
108
  */
109
- async send(wallet, messaging, zeroFee, gasPrice = this.getGasPrice(), memo, broadcastMode, account, gasAdjustment = constants_1.GAS_MULTIPLIER) {
109
+ async send(wallet, messaging, zeroFee, gasPrice = this.getGasPrice(), memo, broadcastMode, account, gasAdjustment = constants_1.GAS_MULTIPLIER, authenticators) {
110
110
  const msgsPromise = messaging();
111
111
  const accountPromise = account ? await account() : this.account(wallet.address);
112
112
  const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
113
113
  const msgs = msgsAndAccount[0];
114
- return this.signAndSendTransaction(wallet, msgsAndAccount[1], msgs, zeroFee, gasPrice, memo !== null && memo !== void 0 ? memo : this.defaultClientMemo, broadcastMode !== null && broadcastMode !== void 0 ? broadcastMode : this.defaultBroadcastMode(msgs), gasAdjustment);
114
+ return this.signAndSendTransaction(wallet, msgsAndAccount[1], msgs, zeroFee, gasPrice, memo !== null && memo !== void 0 ? memo : this.defaultClientMemo, broadcastMode !== null && broadcastMode !== void 0 ? broadcastMode : this.defaultBroadcastMode(msgs), gasAdjustment, authenticators);
115
115
  }
116
116
  /**
117
117
  * @description Calculate the default broadcast mode.
@@ -141,7 +141,7 @@ class Post {
141
141
  *
142
142
  * @returns The Tx Response.
143
143
  */
144
- async signTransaction(wallet, messages, account, zeroFee, gasPrice = this.getGasPrice(), memo, gasAdjustment = constants_1.GAS_MULTIPLIER) {
144
+ async signTransaction(wallet, messages, account, zeroFee, gasPrice = this.getGasPrice(), memo, gasAdjustment = constants_1.GAS_MULTIPLIER, authenticators) {
145
145
  // protocol expects timestamp nonce in UTC milliseconds, which is the unit returned by Date.now()
146
146
  const sequence = this.useTimestampNonce ? Date.now() : account.sequence;
147
147
  // Simulate transaction if no fee is specified.
@@ -155,6 +155,7 @@ class Post {
155
155
  sequence,
156
156
  accountNumber: account.accountNumber,
157
157
  chainId: this.chainId,
158
+ authenticators,
158
159
  };
159
160
  // Generate signed transaction.
160
161
  return wallet.signTransaction(messages, txOptions, fee, memo);
@@ -181,8 +182,8 @@ class Post {
181
182
  *
182
183
  * @returns The Tx Response.
183
184
  */
184
- async signAndSendTransaction(wallet, account, messages, zeroFee, gasPrice = this.getGasPrice(), memo, broadcastMode, gasAdjustment = constants_1.GAS_MULTIPLIER) {
185
- const signedTransaction = await this.signTransaction(wallet, messages, account, zeroFee, gasPrice, memo, gasAdjustment);
185
+ async signAndSendTransaction(wallet, account, messages, zeroFee, gasPrice = this.getGasPrice(), memo, broadcastMode, gasAdjustment = constants_1.GAS_MULTIPLIER, authenticators) {
186
+ const signedTransaction = await this.signTransaction(wallet, messages, account, zeroFee, gasPrice, memo, gasAdjustment, authenticators);
186
187
  return this.sendSignedTransaction(signedTransaction, broadcastMode);
187
188
  }
188
189
  /**
@@ -373,6 +374,14 @@ class Post {
373
374
  const msg = this.launchMarketMsg(subaccount.address, ticker, subaccount.subaccountNumber);
374
375
  return this.send(subaccount.wallet, () => Promise.resolve([msg]), false, undefined, memo, broadcastMode, undefined, gasAdjustment);
375
376
  }
377
+ async addAuthenticator(subaccount, authenticatorType, data) {
378
+ const msg = this.composer.composeMsgAddAuthenticator(subaccount.address, authenticatorType, data);
379
+ return this.send(subaccount.wallet, () => Promise.resolve([msg]), false, undefined, undefined, tendermint_rpc_1.Method.BroadcastTxSync, undefined, undefined);
380
+ }
381
+ async removeAuthenticator(subaccount, id) {
382
+ const msg = this.composer.composeMsgRemoveAuthenticator(subaccount.address, id);
383
+ return this.send(subaccount.wallet, () => Promise.resolve([msg]), false, undefined, undefined, tendermint_rpc_1.Method.BroadcastTxSync, undefined, undefined);
384
+ }
376
385
  }
377
386
  exports.Post = Post;
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvcG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1Q0FBc0M7QUFFdEMsK0NBQXNGO0FBQ3RGLDJEQUFnRDtBQUtoRCxvREFBdUI7QUFDdkIsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyw0Q0FBZ0U7QUFDaEUsMENBQXNEO0FBQ3RELDhDQUFtRDtBQUVuRCxvQ0FPa0I7QUFDbEIseUNBQXNDO0FBR3RDLHFEQVEwQjtBQUUxQixvRUFBb0U7QUFDcEUscUVBQXFFO0FBQ3JFLHdFQUF3RTtBQUN4RSxrRUFBa0U7QUFDbEUsb0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQUksQ0FBQztBQUMxQixvQkFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRXJCLE1BQWEsSUFBSTtJQWVmLFlBQ0UsR0FBUSxFQUNSLE9BQWUsRUFDZixNQUFtQixFQUNuQixpQkFBMEIsRUFDMUIsaUJBQTJCO1FBWnRCLHFCQUFnQixHQUFxQiw0QkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFJM0Qsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHVCQUFrQixHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBUzNELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFBLDJCQUFnQixHQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxtQkFBUSxDQUFDLFVBQVUsQ0FDeEMsUUFBUSxNQUFN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
387
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvcG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1Q0FBc0M7QUFFdEMsK0NBQXNGO0FBQ3RGLDJEQUFnRDtBQUtoRCxvREFBdUI7QUFDdkIsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyw0Q0FBbUY7QUFDbkYsMENBQXNEO0FBQ3RELDhDQUFtRDtBQUVuRCxvQ0FPa0I7QUFDbEIseUNBQXNDO0FBR3RDLHFEQVEwQjtBQUUxQixvRUFBb0U7QUFDcEUscUVBQXFFO0FBQ3JFLHdFQUF3RTtBQUN4RSxrRUFBa0U7QUFDbEUsb0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQUksQ0FBQztBQUMxQixvQkFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRXJCLE1BQWEsSUFBSTtJQWVmLFlBQ0UsR0FBUSxFQUNSLE9BQWUsRUFDZixNQUFtQixFQUNuQixpQkFBMEIsRUFDMUIsaUJBQTJCO1FBWnRCLHFCQUFnQixHQUFxQiw0QkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFJM0Qsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHVCQUFrQixHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBUzNELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFBLDJCQUFnQixHQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxtQkFBUSxDQUFDLFVBQVUsQ0FDeEMsUUFBUSxNQUFN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
@@ -1,10 +1,12 @@
1
- import { EncodeObject } from '@cosmjs/proto-signing';
1
+ import { Secp256k1Pubkey } from '@cosmjs/amino';
2
+ import { EncodeObject, OfflineDirectSigner } from '@cosmjs/proto-signing';
2
3
  import { SigningStargateClient, StdFee } from '@cosmjs/stargate';
3
4
  import { TransactionOptions } from '../types';
4
5
  export declare class TransactionSigner {
5
6
  readonly address: string;
6
7
  readonly stargateSigningClient: SigningStargateClient;
7
- constructor(address: string, stargateSigningClient: SigningStargateClient);
8
+ readonly offlineSigner: OfflineDirectSigner;
9
+ constructor(address: string, stargateSigningClient: SigningStargateClient, offlineSigner: OfflineDirectSigner);
8
10
  /**
9
11
  * @description Get the encoded signed transaction or the promise is rejected if
10
12
  * no fee can be set for the transaction.
@@ -12,5 +14,5 @@ export declare class TransactionSigner {
12
14
  * @throws UserError if the fee is undefined.
13
15
  * @returns The signed and encoded transaction.
14
16
  */
15
- signTransaction(messages: EncodeObject[], transactionOptions: TransactionOptions, fee?: StdFee, memo?: string): Promise<Uint8Array>;
17
+ signTransaction(messages: EncodeObject[], transactionOptions: TransactionOptions, fee?: StdFee, memo?: string, publicKey?: Secp256k1Pubkey): Promise<Uint8Array>;
16
18
  }
@@ -4,10 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TransactionSigner = void 0;
7
- const tx_1 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
7
+ const encoding_1 = require("@cosmjs/encoding");
8
+ const math_1 = require("@cosmjs/math");
9
+ const proto_signing_1 = require("@cosmjs/proto-signing");
10
+ const tx_1 = require("@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/tx");
11
+ const tx_2 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
12
+ const any_1 = require("cosmjs-types/google/protobuf/any");
8
13
  const long_1 = __importDefault(require("long"));
9
14
  const protobufjs_1 = __importDefault(require("protobufjs"));
10
- const errors_1 = require("../lib/errors");
15
+ const registry_1 = require("../lib/registry");
11
16
  // Required for encoding and decoding queries that are of type Long.
12
17
  // Must be done once but since the individal modules should be usable
13
18
  // - must be set in each module that encounters encoding/decoding Longs.
@@ -15,9 +20,10 @@ const errors_1 = require("../lib/errors");
15
20
  protobufjs_1.default.util.Long = long_1.default;
16
21
  protobufjs_1.default.configure();
17
22
  class TransactionSigner {
18
- constructor(address, stargateSigningClient) {
23
+ constructor(address, stargateSigningClient, offlineSigner) {
19
24
  this.address = address;
20
25
  this.stargateSigningClient = stargateSigningClient;
26
+ this.offlineSigner = offlineSigner;
21
27
  }
22
28
  /**
23
29
  * @description Get the encoded signed transaction or the promise is rejected if
@@ -26,19 +32,52 @@ class TransactionSigner {
26
32
  * @throws UserError if the fee is undefined.
27
33
  * @returns The signed and encoded transaction.
28
34
  */
29
- async signTransaction(messages, transactionOptions, fee, memo = '') {
30
- // Verify there is either a fee or a path to getting the fee present.
31
- if (fee === undefined) {
32
- throw new errors_1.UserError('fee cannot be undefined');
35
+ async signTransaction(messages, transactionOptions, fee, memo = '', publicKey) {
36
+ var _a;
37
+ if (!fee) {
38
+ throw new Error('Fee cannot be undefined');
33
39
  }
34
- // Sign, encode and return the transaction.
35
- const rawTx = await this.stargateSigningClient.sign(this.address, messages, fee, memo, {
36
- accountNumber: transactionOptions.accountNumber,
37
- sequence: transactionOptions.sequence,
38
- chainId: transactionOptions.chainId,
40
+ const registry = (0, registry_1.generateRegistry)();
41
+ // Encode the messages
42
+ const encodedMessages = messages.map((msg) => registry.encodeAsAny(msg));
43
+ // Encode the TxExtension message
44
+ const txExtension = tx_1.TxExtension.encode({
45
+ selectedAuthenticators: (_a = transactionOptions.authenticators) !== null && _a !== void 0 ? _a : [],
46
+ }).finish();
47
+ // Create the non-critical extension message
48
+ const nonCriticalExtensionOptions = [
49
+ any_1.Any.fromPartial({
50
+ typeUrl: '/dydxprotocol.accountplus.TxExtension',
51
+ value: txExtension,
52
+ }),
53
+ ];
54
+ // Construct the TxBody
55
+ const txBody = tx_2.TxBody.fromPartial({
56
+ messages: encodedMessages,
57
+ memo,
58
+ extensionOptions: [],
59
+ nonCriticalExtensionOptions,
39
60
  });
40
- return Uint8Array.from(tx_1.TxRaw.encode(rawTx).finish());
61
+ // Encode the TxBody
62
+ const txBodyBytes = tx_2.TxBody.encode(txBody).finish();
63
+ if (!publicKey) {
64
+ throw new Error('Public key cannot be undefined');
65
+ }
66
+ const pubkey = (0, proto_signing_1.encodePubkey)(publicKey); // Use the public key of the signer
67
+ const gasLimit = math_1.Int53.fromString(String(fee.gas)).toNumber();
68
+ const authInfoBytes = (0, proto_signing_1.makeAuthInfoBytes)([{ pubkey, sequence: transactionOptions.sequence }], fee.amount, gasLimit, undefined, undefined);
69
+ // Create the SignDoc
70
+ const signDoc = (0, proto_signing_1.makeSignDoc)(txBodyBytes, authInfoBytes, transactionOptions.chainId, transactionOptions.accountNumber);
71
+ // Use OfflineSigner to sign the transaction
72
+ const signerAddress = this.address;
73
+ const { signed, signature } = await this.offlineSigner.signDirect(signerAddress, signDoc);
74
+ const txRaw = tx_2.TxRaw.fromPartial({
75
+ bodyBytes: signed.bodyBytes,
76
+ authInfoBytes: signed.authInfoBytes,
77
+ signatures: [(0, encoding_1.fromBase64)(signature.signature)],
78
+ });
79
+ return Uint8Array.from(tx_2.TxRaw.encode(txRaw).finish());
41
80
  }
42
81
  }
43
82
  exports.TransactionSigner = TransactionSigner;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9zaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsMERBQTBEO0FBQzFELGdEQUF3QjtBQUN4Qiw0REFBa0M7QUFFbEMsMENBQTBDO0FBRzFDLG9FQUFvRTtBQUNwRSxxRUFBcUU7QUFDckUsd0VBQXdFO0FBQ3hFLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDO0FBQzFCLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFFckIsTUFBYSxpQkFBaUI7SUFJNUIsWUFBWSxPQUFlLEVBQUUscUJBQTRDO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsUUFBd0IsRUFDeEIsa0JBQXNDLEVBQ3RDLEdBQVksRUFDWixPQUFlLEVBQUU7UUFFakIscUVBQXFFO1FBQ3JFLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUNyQixNQUFNLElBQUksa0JBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsMkNBQTJDO1FBQzNDLE1BQU0sS0FBSyxHQUFVLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO1lBQzVGLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhO1lBQy9DLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO1lBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO1NBQ3BDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBbkNELDhDQW1DQyJ9
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9zaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsK0NBQThDO0FBQzlDLHVDQUFxQztBQUNyQyx5REFBd0g7QUFFeEgsdUZBQTZGO0FBQzdGLDBEQUFrRTtBQUNsRSwwREFBdUQ7QUFDdkQsZ0RBQXdCO0FBQ3hCLDREQUFrQztBQUVsQyw4Q0FBbUQ7QUFHbkQsb0VBQW9FO0FBQ3BFLHFFQUFxRTtBQUNyRSx3RUFBd0U7QUFDeEUsa0VBQWtFO0FBQ2xFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFhLGlCQUFpQjtJQUs1QixZQUNFLE9BQWUsRUFDZixxQkFBNEMsRUFDNUMsYUFBa0M7UUFFbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUNuQixRQUF3QixFQUN4QixrQkFBc0MsRUFDdEMsR0FBWSxFQUNaLE9BQWUsRUFBRSxFQUNqQixTQUEyQjs7UUFFM0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM1QztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUEsMkJBQWdCLEdBQUUsQ0FBQztRQUVwQyxzQkFBc0I7UUFDdEIsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpFLGlDQUFpQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxnQkFBVyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxzQkFBc0IsRUFBRSxNQUFBLGtCQUFrQixDQUFDLGNBQWMsbUNBQUksRUFBRTtTQUNoRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFWiw0Q0FBNEM7UUFDNUMsTUFBTSwyQkFBMkIsR0FBVTtZQUN6QyxTQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNkLE9BQU8sRUFBRSx1Q0FBdUM7Z0JBQ2hELEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDO1FBRUYsdUJBQXVCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFXLFdBQU0sQ0FBQyxXQUFXLENBQUM7WUFDeEMsUUFBUSxFQUFFLGVBQWU7WUFDekIsSUFBSTtZQUNKLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsMkJBQTJCO1NBQzVCLENBQUMsQ0FBQztRQUVILG9CQUFvQjtRQUNwQixNQUFNLFdBQVcsR0FBRyxXQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFBLDRCQUFZLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7UUFFM0UsTUFBTSxRQUFRLEdBQUcsWUFBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsTUFBTSxhQUFhLEdBQUcsSUFBQSxpQ0FBaUIsRUFDckMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDbkQsR0FBRyxDQUFDLE1BQU0sRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsQ0FDVixDQUFDO1FBRUYscUJBQXFCO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUEsMkJBQVcsRUFDekIsV0FBVyxFQUNYLGFBQWEsRUFDYixrQkFBa0IsQ0FBQyxPQUFPLEVBQzFCLGtCQUFrQixDQUFDLGFBQWEsQ0FDakMsQ0FBQztRQUVGLDRDQUE0QztRQUM1QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUYsTUFBTSxLQUFLLEdBQUcsVUFBSyxDQUFDLFdBQVcsQ0FBQztZQUM5QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1lBQ25DLFVBQVUsRUFBRSxDQUFDLElBQUEscUJBQVUsRUFBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUFoR0QsOENBZ0dDIn0=
@@ -1,4 +1,4 @@
1
- import type { ComplianceResponse, HeightResponse, TimeResponse } from '../types';
1
+ import type { ComplianceResponse, ComplianceV2Response, HeightResponse, TimeResponse } from '../types';
2
2
  import RestClient from './rest';
3
3
  export default class UtilityClient extends RestClient {
4
4
  /**
@@ -17,4 +17,10 @@ export default class UtilityClient extends RestClient {
17
17
  * @returns {ComplianceResponse} whether the specified address is restricted
18
18
  */
19
19
  screen(address: string): Promise<ComplianceResponse>;
20
+ /**
21
+ * @description Screen an address to see if it is restricted
22
+ * @param {string} address evm or dydx address
23
+ * @returns {ComplianceResponse} whether the specified address is restricted
24
+ */
25
+ complianceScreen(address: string): Promise<ComplianceV2Response>;
20
26
  }
@@ -30,6 +30,15 @@ class UtilityClient extends rest_1.default {
30
30
  const uri = '/v4/screen';
31
31
  return this.get(uri, { address });
32
32
  }
33
+ /**
34
+ * @description Screen an address to see if it is restricted
35
+ * @param {string} address evm or dydx address
36
+ * @returns {ComplianceResponse} whether the specified address is restricted
37
+ */
38
+ async complianceScreen(address) {
39
+ const uri = `/v4/compliance/screen/${address}`;
40
+ return this.get(uri);
41
+ }
33
42
  }
34
43
  exports.default = UtilityClient;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvdXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGtEQUFnQztBQUVoQyxNQUFxQixhQUFjLFNBQVEsY0FBVTtJQUNuRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBNUJELGdDQTRCQyJ9
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvdXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU1BLGtEQUFnQztBQUVoQyxNQUFxQixhQUFjLFNBQVEsY0FBVTtJQUNuRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBZTtRQUNwQyxNQUFNLEdBQUcsR0FBRyx5QkFBeUIsT0FBTyxFQUFFLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQXRDRCxnQ0FzQ0MifQ==
@@ -16,6 +16,7 @@ export interface PartialTransactionOptions {
16
16
  }
17
17
  export interface TransactionOptions extends PartialTransactionOptions {
18
18
  sequence: number;
19
+ authenticators?: Long[];
19
20
  }
20
21
  export declare enum OrderFlags {
21
22
  SHORT_TERM = 0,
@@ -71,6 +72,27 @@ export interface HeightResponse {
71
72
  }
72
73
  export interface ComplianceResponse {
73
74
  restricted: boolean;
75
+ reason?: string;
76
+ }
77
+ export declare enum ComplianceReason {
78
+ MANUAL = "MANUAL",
79
+ US_GEO = "US_GEO",
80
+ CA_GEO = "CA_GEO",
81
+ GB_GEO = "GB_GEO",
82
+ SANCTIONED_GEO = "SANCTIONED_GEO",
83
+ COMPLIANCE_PROVIDER = "COMPLIANCE_PROVIDER"
84
+ }
85
+ export declare enum ComplianceStatus {
86
+ COMPLIANT = "COMPLIANT",
87
+ FIRST_STRIKE_CLOSE_ONLY = "FIRST_STRIKE_CLOSE_ONLY",
88
+ FIRST_STRIKE = "FIRST_STRIKE",
89
+ CLOSE_ONLY = "CLOSE_ONLY",
90
+ BLOCKED = "BLOCKED"
91
+ }
92
+ export interface ComplianceV2Response {
93
+ status: ComplianceStatus;
94
+ reason?: ComplianceReason;
95
+ updatedAt?: string;
74
96
  }
75
97
  export type SquidIBCPayload = {
76
98
  msgTypeUrl: '/ibc.applications.transfer.v1.MsgTransfer';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.OrderFlags = void 0;
17
+ exports.ComplianceStatus = exports.ComplianceReason = exports.OrderFlags = void 0;
18
18
  // OrderFlags, just a number in proto, defined as enum for convenience
19
19
  var OrderFlags;
20
20
  (function (OrderFlags) {
@@ -22,5 +22,22 @@ var OrderFlags;
22
22
  OrderFlags[OrderFlags["LONG_TERM"] = 64] = "LONG_TERM";
23
23
  OrderFlags[OrderFlags["CONDITIONAL"] = 32] = "CONDITIONAL";
24
24
  })(OrderFlags = exports.OrderFlags || (exports.OrderFlags = {}));
25
+ var ComplianceReason;
26
+ (function (ComplianceReason) {
27
+ ComplianceReason["MANUAL"] = "MANUAL";
28
+ ComplianceReason["US_GEO"] = "US_GEO";
29
+ ComplianceReason["CA_GEO"] = "CA_GEO";
30
+ ComplianceReason["GB_GEO"] = "GB_GEO";
31
+ ComplianceReason["SANCTIONED_GEO"] = "SANCTIONED_GEO";
32
+ ComplianceReason["COMPLIANCE_PROVIDER"] = "COMPLIANCE_PROVIDER";
33
+ })(ComplianceReason = exports.ComplianceReason || (exports.ComplianceReason = {}));
34
+ var ComplianceStatus;
35
+ (function (ComplianceStatus) {
36
+ ComplianceStatus["COMPLIANT"] = "COMPLIANT";
37
+ ComplianceStatus["FIRST_STRIKE_CLOSE_ONLY"] = "FIRST_STRIKE_CLOSE_ONLY";
38
+ ComplianceStatus["FIRST_STRIKE"] = "FIRST_STRIKE";
39
+ ComplianceStatus["CLOSE_ONLY"] = "CLOSE_ONLY";
40
+ ComplianceStatus["BLOCKED"] = "BLOCKED";
41
+ })(ComplianceStatus = exports.ComplianceStatus || (exports.ComplianceStatus = {}));
25
42
  __exportStar(require("./modules/proto-includes"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlDQSxzRUFBc0U7QUFDdEUsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHVEQUFjLENBQUE7SUFDZCxzREFBYyxDQUFBO0lBQ2QsMERBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBSXJCO0FBK0dELDJEQUF5QyJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWtDQSxzRUFBc0U7QUFDdEUsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHVEQUFjLENBQUE7SUFDZCxzREFBYyxDQUFBO0lBQ2QsMERBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBSXJCO0FBdUVELElBQVksZ0JBT1g7QUFQRCxXQUFZLGdCQUFnQjtJQUMxQixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixxREFBaUMsQ0FBQTtJQUNqQywrREFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBUFcsZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFPM0I7QUFFRCxJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDMUIsMkNBQXVCLENBQUE7SUFDdkIsdUVBQW1ELENBQUE7SUFDbkQsaURBQTZCLENBQUE7SUFDN0IsNkNBQXlCLENBQUE7SUFDekIsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBTTNCO0FBaURELDJEQUF5QyJ9