@wormhole-foundation/sdk-cosmwasm-tokenbridge 4.22.0-beta.0 → 5.0.0-beta.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.
- package/package.json +11 -29
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -22
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/tokenBridge.d.ts +0 -31
- package/dist/cjs/tokenBridge.d.ts.map +0 -1
- package/dist/cjs/tokenBridge.js +0 -239
- package/dist/cjs/tokenBridge.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wormhole-foundation/sdk-cosmwasm-tokenbridge",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-beta.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/wormhole-foundation/wormhole-sdk-ts.git"
|
|
@@ -13,13 +13,12 @@
|
|
|
13
13
|
"test": "tests"
|
|
14
14
|
},
|
|
15
15
|
"license": "Apache-2.0",
|
|
16
|
-
"main": "./dist/
|
|
17
|
-
"types": "./dist/
|
|
16
|
+
"main": "./dist/esm/index.js",
|
|
17
|
+
"types": "./dist/esm/index.d.ts",
|
|
18
18
|
"module": "./dist/esm/index.js",
|
|
19
19
|
"description": "SDK for EVM chains, used in conjunction with @wormhole-foundation/sdk",
|
|
20
20
|
"files": [
|
|
21
|
-
"dist/esm"
|
|
22
|
-
"dist/cjs"
|
|
21
|
+
"dist/esm"
|
|
23
22
|
],
|
|
24
23
|
"keywords": [
|
|
25
24
|
"wormhole",
|
|
@@ -35,16 +34,14 @@
|
|
|
35
34
|
"evm"
|
|
36
35
|
],
|
|
37
36
|
"engines": {
|
|
38
|
-
"node": ">=
|
|
37
|
+
"node": ">=20.19"
|
|
39
38
|
},
|
|
40
39
|
"sideEffects": [
|
|
41
|
-
"./dist/cjs/index.js",
|
|
42
40
|
"./dist/esm/index.js"
|
|
43
41
|
],
|
|
44
42
|
"scripts": {
|
|
45
|
-
"build:cjs": "tsc -p ./tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
|
|
46
43
|
"build:esm": "tsc -p ./tsconfig.esm.json",
|
|
47
|
-
"build": "npm run build:esm
|
|
44
|
+
"build": "npm run build:esm",
|
|
48
45
|
"rebuild": "npm run clean && npm run build",
|
|
49
46
|
"clean": "rm -rf ./dist && rm -rf ./.turbo",
|
|
50
47
|
"lint": "npm run prettier && eslint --fix ./src --ext .ts",
|
|
@@ -53,30 +50,15 @@
|
|
|
53
50
|
"dependencies": {
|
|
54
51
|
"@injectivelabs/sdk-ts": "^1.14.13-beta.2",
|
|
55
52
|
"@cosmjs/cosmwasm-stargate": "^0.32.0",
|
|
56
|
-
"@wormhole-foundation/sdk-connect": "
|
|
57
|
-
"@wormhole-foundation/sdk-cosmwasm": "
|
|
53
|
+
"@wormhole-foundation/sdk-connect": "5.0.0-beta.0",
|
|
54
|
+
"@wormhole-foundation/sdk-cosmwasm": "5.0.0-beta.0"
|
|
58
55
|
},
|
|
59
56
|
"type": "module",
|
|
60
57
|
"exports": {
|
|
61
58
|
".": {
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
"types": "./dist/cjs/index.d.ts",
|
|
66
|
-
"default": "./dist/cjs/index.js"
|
|
67
|
-
},
|
|
68
|
-
"import": {
|
|
69
|
-
"types": "./dist/esm/index.d.ts",
|
|
70
|
-
"default": "./dist/esm/index.js"
|
|
71
|
-
},
|
|
72
|
-
"require": {
|
|
73
|
-
"types": "./dist/cjs/index.d.ts",
|
|
74
|
-
"default": "./dist/cjs/index.js"
|
|
75
|
-
},
|
|
76
|
-
"default": {
|
|
77
|
-
"types": "./dist/cjs/index.d.ts",
|
|
78
|
-
"default": "./dist/cjs/index.js"
|
|
79
|
-
}
|
|
59
|
+
"types": "./dist/esm/index.d.ts",
|
|
60
|
+
"import": "./dist/esm/index.js",
|
|
61
|
+
"default": "./dist/esm/index.js"
|
|
80
62
|
}
|
|
81
63
|
}
|
|
82
64
|
}
|
package/dist/cjs/index.d.ts
DELETED
package/dist/cjs/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,kBAAkB,CAAC"}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
18
|
-
const sdk_cosmwasm_1 = require("@wormhole-foundation/sdk-cosmwasm");
|
|
19
|
-
const tokenBridge_js_1 = require("./tokenBridge.js");
|
|
20
|
-
(0, sdk_connect_1.registerProtocol)(sdk_cosmwasm_1._platform, "TokenBridge", tokenBridge_js_1.CosmwasmTokenBridge);
|
|
21
|
-
__exportStar(require("./tokenBridge.js"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAoE;AACpE,oEAA8D;AAC9D,qDAAuD;AAEvD,IAAA,8BAAgB,EAAC,wBAAS,EAAE,aAAa,EAAE,oCAAmB,CAAC,CAAC;AAEhE,mDAAiC"}
|
package/dist/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"commonjs"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { CosmWasmClient } from "@cosmjs/cosmwasm-stargate";
|
|
2
|
-
import type { Chain, ChainAddress, ChainsConfig, Contracts, NativeAddress, Network, TokenBridge, TokenId, TxHash } from "@wormhole-foundation/sdk-connect";
|
|
3
|
-
import { UniversalAddress } from "@wormhole-foundation/sdk-connect";
|
|
4
|
-
import type { AnyCosmwasmAddress, CosmwasmChains, CosmwasmPlatformType } from "@wormhole-foundation/sdk-cosmwasm";
|
|
5
|
-
import { CosmwasmUnsignedTransaction } from "@wormhole-foundation/sdk-cosmwasm";
|
|
6
|
-
import "@wormhole-foundation/sdk-cosmwasm-core";
|
|
7
|
-
export declare class CosmwasmTokenBridge<N extends Network, C extends CosmwasmChains> implements TokenBridge<N, C> {
|
|
8
|
-
readonly network: N;
|
|
9
|
-
readonly chain: C;
|
|
10
|
-
readonly rpc: CosmWasmClient;
|
|
11
|
-
readonly contracts: Contracts;
|
|
12
|
-
private tokenBridge;
|
|
13
|
-
private translator?;
|
|
14
|
-
constructor(network: N, chain: C, rpc: CosmWasmClient, contracts: Contracts);
|
|
15
|
-
static fromRpc<N extends Network>(rpc: CosmWasmClient, config: ChainsConfig<N, CosmwasmPlatformType>): Promise<CosmwasmTokenBridge<N, CosmwasmChains>>;
|
|
16
|
-
isWrappedAsset(token: AnyCosmwasmAddress): Promise<boolean>;
|
|
17
|
-
hasWrappedAsset(token: TokenId): Promise<boolean>;
|
|
18
|
-
getWrappedAsset(token: TokenId): Promise<NativeAddress<C>>;
|
|
19
|
-
getOriginalAsset(token: AnyCosmwasmAddress): Promise<TokenId>;
|
|
20
|
-
getTokenUniversalAddress(token: NativeAddress<C>): Promise<UniversalAddress>;
|
|
21
|
-
getTokenNativeAddress(originChain: Chain, token: UniversalAddress): Promise<NativeAddress<C>>;
|
|
22
|
-
isTransferCompleted(vaa: TokenBridge.TransferVAA): Promise<boolean>;
|
|
23
|
-
createAttestation(token: AnyCosmwasmAddress, payer?: AnyCosmwasmAddress): AsyncGenerator<CosmwasmUnsignedTransaction<N, C>>;
|
|
24
|
-
submitAttestation(vaa: TokenBridge.AttestVAA, payer?: AnyCosmwasmAddress): AsyncGenerator<CosmwasmUnsignedTransaction<N, C>>;
|
|
25
|
-
transfer(sender: AnyCosmwasmAddress, recipient: ChainAddress, token: AnyCosmwasmAddress, amount: bigint, payload?: Uint8Array): AsyncGenerator<CosmwasmUnsignedTransaction<N, C>>;
|
|
26
|
-
redeem(sender: AnyCosmwasmAddress, vaa: TokenBridge.TransferVAA, unwrapNative?: boolean): AsyncGenerator<CosmwasmUnsignedTransaction<N, C>>;
|
|
27
|
-
parseTransactionDetails(txid: TxHash): Promise<void>;
|
|
28
|
-
getWrappedNative(): Promise<NativeAddress<C>>;
|
|
29
|
-
private createUnsignedTx;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=tokenBridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/tokenBridge.js
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CosmwasmTokenBridge = void 0;
|
|
4
|
-
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
5
|
-
const sdk_cosmwasm_1 = require("@wormhole-foundation/sdk-cosmwasm");
|
|
6
|
-
require("@wormhole-foundation/sdk-cosmwasm-core");
|
|
7
|
-
class CosmwasmTokenBridge {
|
|
8
|
-
network;
|
|
9
|
-
chain;
|
|
10
|
-
rpc;
|
|
11
|
-
contracts;
|
|
12
|
-
tokenBridge;
|
|
13
|
-
translator;
|
|
14
|
-
constructor(network, chain, rpc, contracts) {
|
|
15
|
-
this.network = network;
|
|
16
|
-
this.chain = chain;
|
|
17
|
-
this.rpc = rpc;
|
|
18
|
-
this.contracts = contracts;
|
|
19
|
-
const tokenBridgeAddress = this.contracts.tokenBridge;
|
|
20
|
-
if (!tokenBridgeAddress)
|
|
21
|
-
throw new Error(`Wormhole Token Bridge contract for domain ${chain} not found`);
|
|
22
|
-
this.tokenBridge = tokenBridgeAddress;
|
|
23
|
-
// May be undefined, thats ok
|
|
24
|
-
this.translator = this.contracts.translator;
|
|
25
|
-
// But it cannot be an empty string (misconfiguration)
|
|
26
|
-
if (this.translator !== undefined && this.translator === "")
|
|
27
|
-
throw new Error("Translator address may be undefined but not empty string");
|
|
28
|
-
}
|
|
29
|
-
static async fromRpc(rpc, config) {
|
|
30
|
-
const [network, chain] = await sdk_cosmwasm_1.CosmwasmPlatform.chainFromRpc(rpc);
|
|
31
|
-
const conf = config[chain];
|
|
32
|
-
if (conf.network !== network)
|
|
33
|
-
throw new Error(`Network mismatch: ${conf.network} != ${network}`);
|
|
34
|
-
return new CosmwasmTokenBridge(network, chain, rpc, config[chain].contracts);
|
|
35
|
-
}
|
|
36
|
-
async isWrappedAsset(token) {
|
|
37
|
-
try {
|
|
38
|
-
await this.getOriginalAsset(token);
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
catch { }
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
async hasWrappedAsset(token) {
|
|
45
|
-
try {
|
|
46
|
-
await this.getWrappedAsset(token);
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
catch { }
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
async getWrappedAsset(token) {
|
|
53
|
-
if (token.chain === this.chain)
|
|
54
|
-
throw new Error(`Expected foreign chain, got ${token.chain}`);
|
|
55
|
-
if ((0, sdk_connect_1.isNative)(token.address))
|
|
56
|
-
throw new Error("Native asset cannot be a wrapped asset");
|
|
57
|
-
const base64Addr = sdk_connect_1.encoding.b64.encode(token.address.toUniversalAddress().toUint8Array());
|
|
58
|
-
const { address } = await this.rpc.queryContractSmart(this.tokenBridge, {
|
|
59
|
-
wrapped_registry: {
|
|
60
|
-
chain: (0, sdk_connect_1.toChainId)(token.chain),
|
|
61
|
-
address: base64Addr,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
return (0, sdk_connect_1.toNative)(this.chain, address);
|
|
65
|
-
}
|
|
66
|
-
async getOriginalAsset(token) {
|
|
67
|
-
let wrappedAddress = new sdk_cosmwasm_1.CosmwasmAddress(token);
|
|
68
|
-
if (wrappedAddress.denomType === "factory")
|
|
69
|
-
wrappedAddress = sdk_cosmwasm_1.Gateway.factoryToCw20(wrappedAddress);
|
|
70
|
-
const response = await this.rpc.queryContractSmart(wrappedAddress.toString(), {
|
|
71
|
-
wrapped_asset_info: {},
|
|
72
|
-
});
|
|
73
|
-
const origChain = (0, sdk_connect_1.toChain)(response.asset_chain);
|
|
74
|
-
const origAddress = sdk_connect_1.encoding.b64.decode(response.asset_address);
|
|
75
|
-
return {
|
|
76
|
-
chain: origChain,
|
|
77
|
-
address: new sdk_connect_1.UniversalAddress(new Uint8Array(origAddress)),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
async getTokenUniversalAddress(token) {
|
|
81
|
-
return new sdk_cosmwasm_1.CosmwasmAddress(token).toUniversalAddress();
|
|
82
|
-
}
|
|
83
|
-
async getTokenNativeAddress(originChain, token) {
|
|
84
|
-
return new sdk_cosmwasm_1.CosmwasmAddress(token).toNative();
|
|
85
|
-
}
|
|
86
|
-
async isTransferCompleted(vaa) {
|
|
87
|
-
const data = sdk_connect_1.encoding.b64.encode((0, sdk_connect_1.serialize)(vaa));
|
|
88
|
-
const result = await this.rpc.queryContractSmart(this.tokenBridge, {
|
|
89
|
-
is_vaa_redeemed: { vaa: data },
|
|
90
|
-
});
|
|
91
|
-
return result.is_redeemed;
|
|
92
|
-
}
|
|
93
|
-
async *createAttestation(token, payer) {
|
|
94
|
-
if (!payer)
|
|
95
|
-
throw new Error("Payer required to create attestation");
|
|
96
|
-
const tokenStr = new sdk_cosmwasm_1.CosmwasmAddress(token).toString();
|
|
97
|
-
const payerStr = new sdk_cosmwasm_1.CosmwasmAddress(payer).toString();
|
|
98
|
-
// TODO nonce?
|
|
99
|
-
const nonce = 0;
|
|
100
|
-
const assetInfo = (0, sdk_connect_1.isNative)(token)
|
|
101
|
-
? {
|
|
102
|
-
native_token: {
|
|
103
|
-
denom: sdk_cosmwasm_1.CosmwasmPlatform.getNativeDenom(this.network, this.chain),
|
|
104
|
-
},
|
|
105
|
-
}
|
|
106
|
-
: {
|
|
107
|
-
token: { contract_addr: tokenStr },
|
|
108
|
-
};
|
|
109
|
-
yield this.createUnsignedTx({
|
|
110
|
-
msgs: [
|
|
111
|
-
(0, sdk_cosmwasm_1.buildExecuteMsg)(payerStr, this.tokenBridge, {
|
|
112
|
-
create_asset_meta: { asset_info: assetInfo, nonce },
|
|
113
|
-
}),
|
|
114
|
-
],
|
|
115
|
-
fee: (0, sdk_cosmwasm_1.computeFee)(this.network, this.chain),
|
|
116
|
-
memo: "Wormhole - Create Attestation",
|
|
117
|
-
}, "TokenBridge.createAttestation");
|
|
118
|
-
}
|
|
119
|
-
async *submitAttestation(vaa, payer) {
|
|
120
|
-
if (!payer)
|
|
121
|
-
throw new Error("Payer required to submit attestation");
|
|
122
|
-
const payerStr = new sdk_cosmwasm_1.CosmwasmAddress(payer).toString();
|
|
123
|
-
yield this.createUnsignedTx({
|
|
124
|
-
msgs: [
|
|
125
|
-
(0, sdk_cosmwasm_1.buildExecuteMsg)(payerStr, this.tokenBridge, {
|
|
126
|
-
submit_vaa: { data: (0, sdk_connect_1.serialize)(vaa) },
|
|
127
|
-
}),
|
|
128
|
-
],
|
|
129
|
-
fee: (0, sdk_cosmwasm_1.computeFee)(this.network, this.chain),
|
|
130
|
-
memo: "Wormhole - Submit Attestation",
|
|
131
|
-
}, "TokenBridge.submitAttestation");
|
|
132
|
-
}
|
|
133
|
-
async *transfer(sender, recipient, token, amount, payload) {
|
|
134
|
-
const nonce = Math.round(Math.random() * 100000);
|
|
135
|
-
const relayerFee = "0";
|
|
136
|
-
const recipientChainId = (0, sdk_connect_1.toChainId)(recipient.chain);
|
|
137
|
-
// TODO: do we need to use the _native_ address for cosmos chains?
|
|
138
|
-
const encodedRecipient = sdk_connect_1.encoding.b64.encode(recipient.address.toUniversalAddress().toUint8Array());
|
|
139
|
-
const denom = sdk_cosmwasm_1.CosmwasmPlatform.getNativeDenom(this.network, this.chain);
|
|
140
|
-
const isNativeToken = (0, sdk_connect_1.isNative)(token);
|
|
141
|
-
let tokenAddress = isNativeToken ? denom : token.toString();
|
|
142
|
-
if (tokenAddress.startsWith("factory"))
|
|
143
|
-
tokenAddress = sdk_cosmwasm_1.Gateway.factoryToCw20(new sdk_cosmwasm_1.CosmwasmAddress(tokenAddress)).toString();
|
|
144
|
-
const senderAddress = new sdk_cosmwasm_1.CosmwasmAddress(sender).toString();
|
|
145
|
-
const mk_initiate_transfer = (info) => {
|
|
146
|
-
const common = {
|
|
147
|
-
asset: {
|
|
148
|
-
amount: amount.toString(),
|
|
149
|
-
info,
|
|
150
|
-
},
|
|
151
|
-
recipient_chain: recipientChainId,
|
|
152
|
-
recipient: encodedRecipient,
|
|
153
|
-
fee: relayerFee,
|
|
154
|
-
nonce: nonce,
|
|
155
|
-
};
|
|
156
|
-
return payload
|
|
157
|
-
? {
|
|
158
|
-
initiate_transfer_with_payload: { ...common, payload: sdk_connect_1.encoding.b64.encode(payload) },
|
|
159
|
-
}
|
|
160
|
-
: {
|
|
161
|
-
initiate_transfer: common,
|
|
162
|
-
};
|
|
163
|
-
};
|
|
164
|
-
// this.createConvertAndTransferMessage(
|
|
165
|
-
// senderAddress,
|
|
166
|
-
// targetChain,
|
|
167
|
-
// targetAddress,
|
|
168
|
-
// relayerFee,
|
|
169
|
-
// { denom: Gateway.cw20ToFactory(token), amount },
|
|
170
|
-
// )
|
|
171
|
-
if (isNativeToken) {
|
|
172
|
-
const msgs = [
|
|
173
|
-
(0, sdk_cosmwasm_1.buildExecuteMsg)(senderAddress, this.tokenBridge, { deposit_tokens: {} }, [
|
|
174
|
-
{ amount: amount.toString(), denom: tokenAddress },
|
|
175
|
-
]),
|
|
176
|
-
(0, sdk_cosmwasm_1.buildExecuteMsg)(senderAddress, this.tokenBridge, mk_initiate_transfer({
|
|
177
|
-
native_token: { denom: tokenAddress },
|
|
178
|
-
})),
|
|
179
|
-
];
|
|
180
|
-
yield this.createUnsignedTx({
|
|
181
|
-
msgs,
|
|
182
|
-
fee: (0, sdk_cosmwasm_1.computeFee)(this.network, this.chain),
|
|
183
|
-
memo: "Wormhole - Initiate Native Transfer",
|
|
184
|
-
}, "TokenBridge.transferNative");
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
const msgs = [
|
|
188
|
-
(0, sdk_cosmwasm_1.buildExecuteMsg)(senderAddress, tokenAddress, {
|
|
189
|
-
increase_allowance: {
|
|
190
|
-
spender: this.tokenBridge,
|
|
191
|
-
amount: amount.toString(),
|
|
192
|
-
expires: { never: {} },
|
|
193
|
-
},
|
|
194
|
-
}),
|
|
195
|
-
(0, sdk_cosmwasm_1.buildExecuteMsg)(senderAddress, this.tokenBridge, mk_initiate_transfer({
|
|
196
|
-
token: { contract_addr: tokenAddress },
|
|
197
|
-
}), [{ amount: amount.toString(), denom: tokenAddress }]),
|
|
198
|
-
];
|
|
199
|
-
yield this.createUnsignedTx({
|
|
200
|
-
msgs,
|
|
201
|
-
fee: (0, sdk_cosmwasm_1.computeFee)(this.network, this.chain),
|
|
202
|
-
memo: "Wormhole - Initiate Transfer",
|
|
203
|
-
}, "TokenBridge.transfer");
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
async *redeem(sender, vaa, unwrapNative = true) {
|
|
207
|
-
// TODO: unwrapNative
|
|
208
|
-
const data = sdk_connect_1.encoding.b64.encode((0, sdk_connect_1.serialize)(vaa));
|
|
209
|
-
const senderAddress = new sdk_cosmwasm_1.CosmwasmAddress(sender).toString();
|
|
210
|
-
const toTranslator = this.translator &&
|
|
211
|
-
new sdk_cosmwasm_1.CosmwasmAddress(this.translator).toUniversalAddress().equals(vaa.payload.to.address);
|
|
212
|
-
const msg = toTranslator
|
|
213
|
-
? (0, sdk_cosmwasm_1.buildExecuteMsg)(senderAddress, this.translator, {
|
|
214
|
-
complete_transfer_and_convert: {
|
|
215
|
-
vaa: data,
|
|
216
|
-
},
|
|
217
|
-
})
|
|
218
|
-
: (0, sdk_cosmwasm_1.buildExecuteMsg)(senderAddress, this.tokenBridge, {
|
|
219
|
-
submit_vaa: { data },
|
|
220
|
-
});
|
|
221
|
-
yield this.createUnsignedTx({
|
|
222
|
-
msgs: [msg],
|
|
223
|
-
fee: (0, sdk_cosmwasm_1.computeFee)(this.network, this.chain),
|
|
224
|
-
memo: "Wormhole - Complete Transfer",
|
|
225
|
-
}, "TokenBridge.redeem");
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
async parseTransactionDetails(txid) {
|
|
229
|
-
throw new Error("Not implemented");
|
|
230
|
-
}
|
|
231
|
-
async getWrappedNative() {
|
|
232
|
-
return (0, sdk_connect_1.toNative)(this.chain, sdk_cosmwasm_1.CosmwasmPlatform.getNativeDenom(this.network, this.chain));
|
|
233
|
-
}
|
|
234
|
-
createUnsignedTx(txReq, description, parallelizable = false) {
|
|
235
|
-
return new sdk_cosmwasm_1.CosmwasmUnsignedTransaction(txReq, this.network, this.chain, description, parallelizable);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
exports.CosmwasmTokenBridge = CosmwasmTokenBridge;
|
|
239
|
-
//# sourceMappingURL=tokenBridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
|