carbon-js-sdk 0.4.16 → 0.4.18

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 (39) hide show
  1. package/lib/clients/EvmIbcClient.d.ts +86 -0
  2. package/lib/clients/EvmIbcClient.js +90 -0
  3. package/lib/clients/TokenClient.js +5 -4
  4. package/lib/codec/broker/incoming_pool_swap.d.ts +23 -0
  5. package/lib/codec/broker/incoming_pool_swap.js +136 -0
  6. package/lib/codec/index.d.ts +8 -18
  7. package/lib/codec/index.js +434 -456
  8. package/lib/util/ethermint/evm-ibc.d.ts +97 -0
  9. package/lib/util/ethermint/evm-ibc.js +134 -0
  10. package/lib/util/ethermint/index.d.ts +3 -0
  11. package/lib/util/ethermint/index.js +12 -0
  12. package/lib/util/ethermint/keys.d.ts +39 -0
  13. package/lib/util/ethermint/keys.js +138 -0
  14. package/lib/util/ethermint/web3.d.ts +36 -0
  15. package/lib/util/ethermint/web3.js +124 -0
  16. package/lib/util/tx.d.ts +8 -18
  17. package/package.json +1 -1
  18. package/lib/codec/ethermint/crypto/v1/ethsecp256k1/export.d.ts +0 -1
  19. package/lib/codec/ethermint/crypto/v1/ethsecp256k1/export.js +0 -6
  20. package/lib/codec/ethermint/evm/v1/export.d.ts +0 -5
  21. package/lib/codec/ethermint/evm/v1/export.js +0 -53
  22. package/lib/codec/ethermint/feemarket/v1/export.d.ts +0 -4
  23. package/lib/codec/ethermint/feemarket/v1/export.js +0 -18
  24. package/lib/codec/ethermint/types/v1/export.d.ts +0 -4
  25. package/lib/codec/ethermint/types/v1/export.js +0 -11
  26. package/lib/codec/ethermint-models.d.ts +0 -4
  27. package/lib/codec/ethermint-models.js +0 -26
  28. package/lib/constant/eip712.d.ts +0 -28
  29. package/lib/constant/eip712.js +0 -40
  30. package/lib/modules/evm.d.ts +0 -46
  31. package/lib/modules/evm.js +0 -127
  32. package/lib/modules/evmmerge.d.ts +0 -12
  33. package/lib/modules/evmmerge.js +0 -35
  34. package/lib/modules/feemarket.d.ts +0 -20
  35. package/lib/modules/feemarket.js +0 -45
  36. package/lib/util/eip712.d.ts +0 -10
  37. package/lib/util/eip712.js +0 -46
  38. package/lib/util/ethermint.d.ts +0 -4
  39. package/lib/util/ethermint.js +0 -26
@@ -0,0 +1,86 @@
1
+ import { Network } from "../constant";
2
+ import { StdSignDoc } from "@cosmjs/amino";
3
+ import { BlockchainUtils } from "../util";
4
+ declare type SupportedBlockchains = BlockchainUtils.Blockchain.Canto | BlockchainUtils.Blockchain.Evmos;
5
+ declare namespace EvmIbcClient {
6
+ interface TypedDomain {
7
+ name: string;
8
+ version: string;
9
+ chainId: number;
10
+ verifyingContract: string;
11
+ salt: string;
12
+ }
13
+ interface TypedDataV4 {
14
+ types: object;
15
+ primaryType: string;
16
+ message: StdSignDoc;
17
+ domain: TypedDomain;
18
+ }
19
+ const TYPED_DATA_REQUEST_METHOD = "eth_signTypedData_v4";
20
+ const DEFAULT_EIP712_TYPES: {
21
+ EIP712Domain: {
22
+ name: string;
23
+ type: string;
24
+ }[];
25
+ Tx: {
26
+ name: string;
27
+ type: string;
28
+ }[];
29
+ Fee: {
30
+ name: string;
31
+ type: string;
32
+ }[];
33
+ Coin: {
34
+ name: string;
35
+ type: string;
36
+ }[];
37
+ Msg: {
38
+ name: string;
39
+ type: string;
40
+ }[];
41
+ };
42
+ const getEvmChainId: (blockchain: SupportedBlockchains, network?: Network) => 7700 | 9001;
43
+ const getIbcTransferTypes: () => {
44
+ MsgValue: {
45
+ name: string;
46
+ type: string;
47
+ }[];
48
+ TypeToken: {
49
+ name: string;
50
+ type: string;
51
+ }[];
52
+ TypeTimeoutHeight: {
53
+ name: string;
54
+ type: string;
55
+ }[];
56
+ EIP712Domain: {
57
+ name: string;
58
+ type: string;
59
+ }[];
60
+ Tx: {
61
+ name: string;
62
+ type: string;
63
+ }[];
64
+ Fee: {
65
+ name: string;
66
+ type: string;
67
+ }[];
68
+ Coin: {
69
+ name: string;
70
+ type: string;
71
+ }[];
72
+ Msg: {
73
+ name: string;
74
+ type: string;
75
+ }[];
76
+ };
77
+ const getCosmosWeb3Domain: (blockchain: SupportedBlockchains) => {
78
+ name: string;
79
+ version: string;
80
+ chainId: number;
81
+ verifyingContract: string;
82
+ salt: string;
83
+ };
84
+ const getEIP712TypedData: (tx: StdSignDoc, blockchain: SupportedBlockchains, types?: object, domain?: EvmIbcClient.TypedDomain, primaryType?: string) => TypedDataV4;
85
+ }
86
+ export default EvmIbcClient;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constant_1 = require("../constant");
4
+ const util_1 = require("../util");
5
+ const _DEFAULT_EIP712_TYPES = {
6
+ EIP712Domain: [
7
+ { name: 'name', type: 'string' },
8
+ { name: 'version', type: 'string' },
9
+ { name: 'chainId', type: 'uint256' },
10
+ { name: 'verifyingContract', type: 'string' },
11
+ { name: 'salt', type: 'string' },
12
+ ],
13
+ Tx: [
14
+ { name: 'account_number', type: 'string' },
15
+ { name: 'chain_id', type: 'string' },
16
+ { name: 'fee', type: 'Fee' },
17
+ { name: 'memo', type: 'string' },
18
+ { name: 'msgs', type: 'Msg[]' },
19
+ { name: 'sequence', type: 'string' },
20
+ ],
21
+ Fee: [
22
+ { name: 'feePayer', type: 'string' },
23
+ { name: 'amount', type: 'Coin[]' },
24
+ { name: 'gas', type: 'string' },
25
+ ],
26
+ Coin: [
27
+ { name: 'denom', type: 'string' },
28
+ { name: 'amount', type: 'string' },
29
+ ],
30
+ Msg: [
31
+ { name: 'type', type: 'string' },
32
+ { name: 'value', type: 'MsgValue' },
33
+ ],
34
+ };
35
+ var EvmIbcClient;
36
+ (function (EvmIbcClient) {
37
+ EvmIbcClient.TYPED_DATA_REQUEST_METHOD = "eth_signTypedData_v4";
38
+ EvmIbcClient.DEFAULT_EIP712_TYPES = _DEFAULT_EIP712_TYPES;
39
+ EvmIbcClient.getEvmChainId = (blockchain, network = constant_1.Network.MainNet) => {
40
+ switch (network) {
41
+ case constant_1.Network.MainNet:
42
+ switch (blockchain) {
43
+ case util_1.BlockchainUtils.Blockchain.Canto:
44
+ return 7700;
45
+ case util_1.BlockchainUtils.Blockchain.Evmos:
46
+ return 9001;
47
+ default:
48
+ throw new Error("network not supported");
49
+ }
50
+ default:
51
+ throw new Error("network not supported");
52
+ }
53
+ };
54
+ EvmIbcClient.getIbcTransferTypes = () => {
55
+ return Object.assign(Object.assign({}, EvmIbcClient.DEFAULT_EIP712_TYPES), { MsgValue: [
56
+ { name: 'source_port', type: 'string' },
57
+ { name: 'source_channel', type: 'string' },
58
+ { name: 'token', type: 'TypeToken' },
59
+ { name: 'sender', type: 'string' },
60
+ { name: 'receiver', type: 'string' },
61
+ { name: 'timeout_height', type: 'TypeTimeoutHeight' },
62
+ { name: 'timeout_timestamp', type: 'uint64' },
63
+ ], TypeToken: [
64
+ { name: 'denom', type: 'string' },
65
+ { name: 'amount', type: 'string' },
66
+ ], TypeTimeoutHeight: [
67
+ { name: 'revision_number', type: 'uint64' },
68
+ { name: 'revision_height', type: 'uint64' },
69
+ ] });
70
+ };
71
+ EvmIbcClient.getCosmosWeb3Domain = (blockchain) => {
72
+ return {
73
+ name: "Cosmos Web3",
74
+ version: "1.0.0",
75
+ chainId: EvmIbcClient.getEvmChainId(blockchain),
76
+ verifyingContract: "cosmos",
77
+ salt: "0",
78
+ };
79
+ };
80
+ EvmIbcClient.getEIP712TypedData = (tx, blockchain, types = EvmIbcClient.getIbcTransferTypes(), domain = EvmIbcClient.getCosmosWeb3Domain(blockchain), primaryType = "Tx") => {
81
+ const typedData = {
82
+ types,
83
+ primaryType,
84
+ domain,
85
+ message: tx,
86
+ };
87
+ return typedData;
88
+ };
89
+ })(EvmIbcClient || (EvmIbcClient = {}));
90
+ exports.default = EvmIbcClient;
@@ -644,15 +644,16 @@ class TokenClient {
644
644
  const geckoIdToUsdPriceMap = yield this.getUSDValuesFromCoinGecko(geckoIds);
645
645
  const carbonTokenPrices = yield this.getUSDValuesFromPricingModule();
646
646
  const uscStablecoin = this.getNativeStablecoin();
647
+ // add carbon token prices first
648
+ Object.entries(carbonTokenPrices).forEach(([key, value]) => {
649
+ this.usdValues[key] = value;
650
+ });
647
651
  //store price based on denoms
648
652
  for (const denom of denoms) {
649
- const carbonTokenPrice = carbonTokenPrices[denom];
650
653
  // if token price in pricing module exists for denom, return that as usd price first
651
654
  // else check coingecko
652
- if (carbonTokenPrice) {
653
- this.usdValues[denom] = carbonTokenPrice;
655
+ if (this.usdValues[denom])
654
656
  continue;
655
- }
656
657
  const coinId = (_a = this.geckoTokenNames[denom]) !== null && _a !== void 0 ? _a : denom;
657
658
  const price = util_1.NumberUtils.bnOrZero((_b = geckoIdToUsdPriceMap === null || geckoIdToUsdPriceMap === void 0 ? void 0 : geckoIdToUsdPriceMap[coinId]) === null || _b === void 0 ? void 0 : _b.usd);
658
659
  if (price.gt(0)) {
@@ -0,0 +1,23 @@
1
+ import Long from "long";
2
+ import _m0 from "protobufjs/minimal";
3
+ export declare const protobufPackage = "Switcheo.carbon.broker";
4
+ export interface IncomingPoolSwap {
5
+ poolId: Long;
6
+ market: string;
7
+ tokenATotalInput: string;
8
+ tokenATotalExpectedOutput: string;
9
+ tokenBTotalInput: string;
10
+ tokenBTotalExpectedOutput: string;
11
+ }
12
+ export declare const IncomingPoolSwap: {
13
+ encode(message: IncomingPoolSwap, writer?: _m0.Writer): _m0.Writer;
14
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): IncomingPoolSwap;
15
+ fromJSON(object: any): IncomingPoolSwap;
16
+ toJSON(message: IncomingPoolSwap): unknown;
17
+ fromPartial(object: DeepPartial<IncomingPoolSwap>): IncomingPoolSwap;
18
+ };
19
+ declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
20
+ export declare type DeepPartial<T> = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
21
+ [K in keyof T]?: DeepPartial<T[K]>;
22
+ } : Partial<T>;
23
+ export {};
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IncomingPoolSwap = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const long_1 = __importDefault(require("long"));
9
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
10
+ exports.protobufPackage = "Switcheo.carbon.broker";
11
+ const baseIncomingPoolSwap = {
12
+ poolId: long_1.default.UZERO,
13
+ market: "",
14
+ tokenATotalInput: "",
15
+ tokenATotalExpectedOutput: "",
16
+ tokenBTotalInput: "",
17
+ tokenBTotalExpectedOutput: "",
18
+ };
19
+ exports.IncomingPoolSwap = {
20
+ encode(message, writer = minimal_1.default.Writer.create()) {
21
+ if (!message.poolId.isZero()) {
22
+ writer.uint32(8).uint64(message.poolId);
23
+ }
24
+ if (message.market !== "") {
25
+ writer.uint32(18).string(message.market);
26
+ }
27
+ if (message.tokenATotalInput !== "") {
28
+ writer.uint32(26).string(message.tokenATotalInput);
29
+ }
30
+ if (message.tokenATotalExpectedOutput !== "") {
31
+ writer.uint32(34).string(message.tokenATotalExpectedOutput);
32
+ }
33
+ if (message.tokenBTotalInput !== "") {
34
+ writer.uint32(42).string(message.tokenBTotalInput);
35
+ }
36
+ if (message.tokenBTotalExpectedOutput !== "") {
37
+ writer.uint32(50).string(message.tokenBTotalExpectedOutput);
38
+ }
39
+ return writer;
40
+ },
41
+ decode(input, length) {
42
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
43
+ let end = length === undefined ? reader.len : reader.pos + length;
44
+ const message = Object.assign({}, baseIncomingPoolSwap);
45
+ while (reader.pos < end) {
46
+ const tag = reader.uint32();
47
+ switch (tag >>> 3) {
48
+ case 1:
49
+ message.poolId = reader.uint64();
50
+ break;
51
+ case 2:
52
+ message.market = reader.string();
53
+ break;
54
+ case 3:
55
+ message.tokenATotalInput = reader.string();
56
+ break;
57
+ case 4:
58
+ message.tokenATotalExpectedOutput = reader.string();
59
+ break;
60
+ case 5:
61
+ message.tokenBTotalInput = reader.string();
62
+ break;
63
+ case 6:
64
+ message.tokenBTotalExpectedOutput = reader.string();
65
+ break;
66
+ default:
67
+ reader.skipType(tag & 7);
68
+ break;
69
+ }
70
+ }
71
+ return message;
72
+ },
73
+ fromJSON(object) {
74
+ const message = Object.assign({}, baseIncomingPoolSwap);
75
+ message.poolId =
76
+ object.poolId !== undefined && object.poolId !== null
77
+ ? long_1.default.fromString(object.poolId)
78
+ : long_1.default.UZERO;
79
+ message.market =
80
+ object.market !== undefined && object.market !== null
81
+ ? String(object.market)
82
+ : "";
83
+ message.tokenATotalInput =
84
+ object.tokenATotalInput !== undefined && object.tokenATotalInput !== null
85
+ ? String(object.tokenATotalInput)
86
+ : "";
87
+ message.tokenATotalExpectedOutput =
88
+ object.tokenATotalExpectedOutput !== undefined &&
89
+ object.tokenATotalExpectedOutput !== null
90
+ ? String(object.tokenATotalExpectedOutput)
91
+ : "";
92
+ message.tokenBTotalInput =
93
+ object.tokenBTotalInput !== undefined && object.tokenBTotalInput !== null
94
+ ? String(object.tokenBTotalInput)
95
+ : "";
96
+ message.tokenBTotalExpectedOutput =
97
+ object.tokenBTotalExpectedOutput !== undefined &&
98
+ object.tokenBTotalExpectedOutput !== null
99
+ ? String(object.tokenBTotalExpectedOutput)
100
+ : "";
101
+ return message;
102
+ },
103
+ toJSON(message) {
104
+ const obj = {};
105
+ message.poolId !== undefined &&
106
+ (obj.poolId = (message.poolId || long_1.default.UZERO).toString());
107
+ message.market !== undefined && (obj.market = message.market);
108
+ message.tokenATotalInput !== undefined &&
109
+ (obj.tokenATotalInput = message.tokenATotalInput);
110
+ message.tokenATotalExpectedOutput !== undefined &&
111
+ (obj.tokenATotalExpectedOutput = message.tokenATotalExpectedOutput);
112
+ message.tokenBTotalInput !== undefined &&
113
+ (obj.tokenBTotalInput = message.tokenBTotalInput);
114
+ message.tokenBTotalExpectedOutput !== undefined &&
115
+ (obj.tokenBTotalExpectedOutput = message.tokenBTotalExpectedOutput);
116
+ return obj;
117
+ },
118
+ fromPartial(object) {
119
+ var _a, _b, _c, _d, _e;
120
+ const message = Object.assign({}, baseIncomingPoolSwap);
121
+ message.poolId =
122
+ object.poolId !== undefined && object.poolId !== null
123
+ ? long_1.default.fromValue(object.poolId)
124
+ : long_1.default.UZERO;
125
+ message.market = (_a = object.market) !== null && _a !== void 0 ? _a : "";
126
+ message.tokenATotalInput = (_b = object.tokenATotalInput) !== null && _b !== void 0 ? _b : "";
127
+ message.tokenATotalExpectedOutput = (_c = object.tokenATotalExpectedOutput) !== null && _c !== void 0 ? _c : "";
128
+ message.tokenBTotalInput = (_d = object.tokenBTotalInput) !== null && _d !== void 0 ? _d : "";
129
+ message.tokenBTotalExpectedOutput = (_e = object.tokenBTotalExpectedOutput) !== null && _e !== void 0 ? _e : "";
130
+ return message;
131
+ },
132
+ };
133
+ if (minimal_1.default.util.Long !== long_1.default) {
134
+ minimal_1.default.util.Long = long_1.default;
135
+ minimal_1.default.configure();
136
+ }
@@ -167,12 +167,12 @@ export declare const TxTypes: {
167
167
  MsgUpdateGroupPolicyDecisionPolicyResponse: string;
168
168
  MsgUpdateGroupPolicyMetadata: string;
169
169
  MsgUpdateGroupPolicyMetadataResponse: string;
170
- MsgSubmitProposal: string;
171
- MsgSubmitProposalResponse: string;
170
+ MsgGroupSubmitProposal: string;
171
+ MsgGroupSubmitProposalResponse: string;
172
172
  MsgWithdrawProposal: string;
173
173
  MsgWithdrawProposalResponse: string;
174
- MsgVote: string;
175
- MsgVoteResponse: string;
174
+ MsgGroupVote: string;
175
+ MsgGroupVoteResponse: string;
176
176
  MsgExec: string;
177
177
  MsgExecResponse: string;
178
178
  MsgLeaveGroup: string;
@@ -219,26 +219,16 @@ export declare const TxTypes: {
219
219
  MsgRevokeResponse: string;
220
220
  MsgUnjail: string;
221
221
  MsgUnjailResponse: string;
222
- MsgGovSubmitProposal: string;
223
- MsgGovSubmitProposalResponse: string;
222
+ MsgSubmitProposal: string;
223
+ MsgSubmitProposalResponse: string;
224
224
  MsgExecLegacyContent: string;
225
225
  MsgExecLegacyContentResponse: string;
226
- MsgGovVote: string;
227
- MsgGovVoteResponse: string;
226
+ MsgVote: string;
227
+ MsgVoteResponse: string;
228
228
  MsgVoteWeighted: string;
229
229
  MsgVoteWeightedResponse: string;
230
230
  MsgDeposit: string;
231
231
  MsgDepositResponse: string;
232
- MsgGovV1beta1SubmitProposal: string;
233
- MsgGovV1beta1SubmitProposalResponse: string;
234
- MsgGovV1beta1Vote: string;
235
- MsgGovV1beta1VoteResponse: string;
236
- MsgGovV1beta1VoteWeighted: string;
237
- MsgGovV1beta1VoteWeightedResponse: string;
238
- MsgGovV1beta1Deposit: string;
239
- MsgGovV1beta1DepositResponse: string;
240
- TextProposal: string;
241
- Proposal: string;
242
232
  MsgProcessCrossChainTx: string;
243
233
  MsgProcessZionCrossChainTx: string;
244
234
  MsgProcessCrossChainTxResponse: string;