Skip to content

Commit 00b6107

Browse files
Merge pull request #56 from BitGo/BG-59996-add-wdoge-abi
feat(eth): add wrapped token (WDOGE) ABI files and instance address with some examples
2 parents cbd33c4 + 80f637d commit 00b6107

13 files changed

Lines changed: 1801 additions & 300 deletions

File tree

eth/abis/WrappedTokenControllerV1.json

Lines changed: 465 additions & 0 deletions
Large diffs are not rendered by default.

eth/abis/WrappedTokenFactoryV1.json

Lines changed: 848 additions & 0 deletions
Large diffs are not rendered by default.

eth/abis/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ import UniswapV3SwapRouter from './UniswapV3SwapRouter.json';
2727
import UniswapV3NonfungiblePositionManager from './UniswapV3NonfungiblePositionManager.json';
2828
import SushiswapV2Router from './SushiswapV2Router.json';
2929
import KashiPairMediumRiskV1 from './KashiPairMediumRiskV1.json';
30+
import WrappedTokenControllerV1 from './WrappedTokenControllerV1.json'
31+
import WrappedTokenFactoryV1 from './WrappedTokenFactoryV1.json'
3032
export default {
3133
Compound,
3234
CompoundComptroller,
@@ -56,5 +58,7 @@ export default {
5658
WrappedTokenController,
5759
WrappedTokenFactory,
5860
WrappedTokenMembers,
61+
WrappedTokenControllerV1,
62+
WrappedTokenFactoryV1,
5963
};
6064

eth/config/instances.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"USDT": "0xdac17f958d2ee523a2206206994597c13d831ec7"
1515
},
1616
"WrappedToken": {
17-
"WBTC": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"
17+
"WBTC": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
18+
"WDOGE": "0x8aa9381b2544b48c26f3b850F6e07E2c5161EB3e"
1819
},
1920
"WrappedTokenFactory":{
2021
"WBTC": "0xe5a5f138005e19a3e6d0fe68b039397eeef2322b"
@@ -23,7 +24,14 @@
2324
"WBTC": "0xCA06411bd7a7296d7dbdd0050DFc846E95fEBEB7"
2425
},
2526
"WrappedTokenMembers":{
26-
"WBTC": "0x3e8640574aa764763291eD733672D3A105107ac5"
27+
"WBTC": "0x3e8640574aa764763291eD733672D3A105107ac5",
28+
"WDOGE": "0x78749C8E1af46cA85bEE4AE566F0Fe9a324ac531"
29+
},
30+
"WrappedTokenFactoryV1":{
31+
"WDOGE": "0x62084120c6006956dDa975B89C07b7d68b6D61E0"
32+
},
33+
"WrappedTokenControllerV1":{
34+
"WDOGE": "0xaF9f0d1CE262d70be64346cBa74706230951f067"
2735
},
2836
"Compound": {
2937
"CUSDC": "0x39aa39c021dfbae8fac545936693ac917d5e7563",
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { getContractsFactory } from '../../../src/index';
2+
3+
const tokenName = 'WDOGE';
4+
5+
const contract = getContractsFactory('eth').getContract('WrappedToken').instance(tokenName);
6+
7+
const result = contract.methods().balanceOf.call({_owner: '0xd5ADdE17feD8baed3F32b84AF05B8F2816f7b560'})
8+
console.log(result)
9+
10+
const decoder = getContractsFactory('eth').getDecoder();
11+
12+
const wdogeData = result.data.slice(2);
13+
const decoded = decoder.decode(Buffer.from(wdogeData, 'hex'));
14+
console.log(decoded)
15+

eth/examples/WrappedToken/burn.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { getContractsFactory } from '../../../src/index';
2+
3+
const tokenName = 'WDOGE';
4+
5+
const contract = getContractsFactory('eth').getContract('WrappedToken').instance(tokenName);
6+
7+
const result = contract.methods().burn.call({ value: '10' });
8+
console.log(result)
9+
10+
const decoder = getContractsFactory('eth').getDecoder();
11+
12+
const wdogeData = result.data.slice(2);
13+
const decoded = decoder.decode(Buffer.from(wdogeData, 'hex'));
14+
console.log(decoded)

eth/examples/WrappedToken/mint.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { getContractsFactory } from '../../../src/index';
2+
3+
const tokenName = 'WDOGE';
4+
5+
const contract = getContractsFactory('eth').getContract('WrappedToken').instance(tokenName);
6+
7+
const result = contract.methods().mint.call({ _to: '0xD037CA7A2B62c66B0F01CB2C93B978493dcD06d6', _amount: '100' });
8+
console.log(result)
9+
10+
const decoder = getContractsFactory('eth').getDecoder();
11+
12+
const wdogeData = result.data.slice(2);
13+
const decoded = decoder.decode(Buffer.from(wdogeData, 'hex'));
14+
console.log(decoded)
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { getContractsFactory } from '../../../src/index';
2+
3+
const tokenName = 'WDOGE';
4+
5+
const contract = getContractsFactory('eth').getContract('WrappedToken').instance(tokenName);
6+
7+
const result = contract.methods().transfer.call({_to: '0xd5ADdE17feD8baed3F32b84AF05B8F2816f7b560', _value: 12})
8+
console.log(result)
9+
10+
const decoder = getContractsFactory('eth').getDecoder();
11+
12+
const wdogeData = result.data.slice(2);
13+
const decoded = decoder.decode(Buffer.from(wdogeData, 'hex'));
14+
console.log(decoded)
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { getContractsFactory } from '../../../src/index';
2+
3+
const tokenName = 'WDOGE';
4+
5+
const contract = getContractsFactory('eth').getContract('WrappedTokenControllerV1').instance(tokenName);
6+
7+
const result = contract.methods().transferOwnership.call({ newOwner: '0xD037CA7A2B62c66B0F01CB2C93B978493dcD06d6' });
8+
console.log(result)
9+
10+
const decoder = getContractsFactory('eth').getDecoder();
11+
12+
const wdogeData = result.data.slice(2);
13+
const decoded = decoder.decode(Buffer.from(wdogeData, 'hex'));
14+
console.log(decoded)
15+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { getContractsFactory } from '../../../src/index';
2+
3+
const tokenName = 'WDOGE';
4+
5+
const contract = getContractsFactory('eth').getContract('WrappedTokenFactoryV1').instance(tokenName);
6+
7+
const custodianDepositAddress = '0xd5ADdE17feD8baed3F32b84AF05B8F2816f7b560';
8+
const txId = 'f3b566050a4b57ca2acd1acdf9221a911d3740d9e7f9e0f3ddb468988f454ea1';
9+
const amount = '10';
10+
11+
const result = contract.methods().addMintRequest.call({ amount: amount, txid: txId, depositAddress: custodianDepositAddress });
12+
console.log('encoded', result);
13+
14+
const decoder = getContractsFactory('eth').getDecoder();
15+
16+
const data = result.data;
17+
console.log(data);
18+
19+
/** Decode with string data */
20+
const decodedFromString = decoder.decode(data);
21+
console.log(`\n AddMintRequest decoded from string: \n`, decodedFromString);
22+
23+
/** Decode with Buffer data*/
24+
const decodedFromBuffer = decoder.decode(Buffer.from(data.slice(2), 'hex'));
25+
console.log(`\n AddMintRequest decoded from Buffer: \n`, decodedFromBuffer);

0 commit comments

Comments
 (0)