Skip to content

Commit 56ce8e4

Browse files
committed
feat(sdk-coin-oas): add oas sdk skeleton
Ticket: WIN-3696
1 parent ed2a19a commit 56ce8e4

File tree

4 files changed

+114
-34
lines changed

4 files changed

+114
-34
lines changed

modules/sdk-coin-oas/src/oas.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export class Oas extends AbstractEthLikeNewCoins {
4444
* @returns {Promise<Object>} response Berachain explorer
4545
*/
4646
async recoveryBlockchainExplorerQuery(query: Record<string, string>): Promise<Record<string, unknown>> {
47-
const apiToken = common.Environments[this.bitgo.getEnv()].beraExplorerApiToken;
48-
const explorerUrl = common.Environments[this.bitgo.getEnv()].beraExplorerBaseUrl;
47+
const apiToken = common.Environments[this.bitgo.getEnv()].oasExplorerApiToken;
48+
const explorerUrl = common.Environments[this.bitgo.getEnv()].oasExplorerBaseUrl;
4949
return await recoveryBlockchainExplorerQuery(query, explorerUrl as string, apiToken);
5050
}
5151
}

modules/sdk-coin-oas/test/resources/oas.ts

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,100 @@
11
import { KeyPair } from '@bitgo/abstract-eth';
22

3+
export const accounts = {
4+
account1: {
5+
secretKey: '874578010603af8e93b44bfc1d13b32830d0dbca6c89f28ccdc662afd3cdc824',
6+
publicKey: '61b18c6dc02ddcabdeac56cb4f21a971cc41cc97640f6f85b073480008c53a0d',
7+
publicKeyBase58: 'ed25519:7aMa9bTKziRzGACadUGwSLi6BRjtQQzHJPyzQrpZvj4G',
8+
address: '61b18c6dc02ddcabdeac56cb4f21a971cc41cc97640f6f85b073480008c53a0d',
9+
},
10+
account2: {
11+
secretKey: '6f850d17c2bf64478a2aac860fe9c23a48d322f12932c43fe90704553b7b84fd',
12+
publicKey: '9f7b0675db59d19b4bd9c8c72eaabba75a9863d02b30115b8b3c3ca5c20f0254',
13+
address: '9f7b0675db59d19b4bd9c8c72eaabba75a9863d02b30115b8b3c3ca5c20f0254',
14+
},
15+
account3: {
16+
address: '8e498c7299bc8847915ad02989cf23dfde4296b6cba8cc815c36a49a4092ce8e',
17+
publicKey: '8e498c7299bc8847915ad02989cf23dfde4296b6cba8cc815c36a49a4092ce8e',
18+
secretKey: '28ByugHUcLmxyR4rN2gsLBDQFePrpkTvadtAURHKPeSDXn9iwi9aU9uHW8EFBoX7qVXc98shndvqJFt58NbzECG5',
19+
},
20+
account4: {
21+
secretKey: '3Yezqc8eWT9coM2dSguT1XCDcfC3BYYdtGVPEdczRBgqmWmLU7LEDzBwcNEHA31cXFsKyXoE4UC1H9n33C4np7EZ',
22+
publicKey: '38EYs2D2t9fYEwE66Eqdj7canW1PfSszieqtNorqfJWm',
23+
address: '1f91c283682b6014e68c56ba09302730fac1f4a1de5ec8f729bfe1fb51d2b9b2',
24+
},
25+
account5: {
26+
secretKey: '3Yezqc8eWT9coM2dSguT1XCDcfC3BYYdtGVPEdczRBgqmWmLU7LEDzBwcNEHA31cXFsKyXoE4UC1H9n33C4np7EZ',
27+
publicKey: '38EYs2D2t9fYEwE66Eqdj7canW1PfSszieqtNorqfJWm',
28+
address: 'btdev.testnet',
29+
},
30+
errorsAccounts: {
31+
address1: 'not ok',
32+
address2: 'bo__wen',
33+
address3: '[email protected]',
34+
address4: '$$$',
35+
address5: 'abcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyz',
36+
address6: '',
37+
},
38+
default: {
39+
secretKey: '0000000000000000000000000000000000000000000000000000000000000000',
40+
publicKey: '3b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29',
41+
address: '3b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29',
42+
},
43+
};
44+
45+
export const validatorContractAddress = 'lavenderfive.pool.f863973.m0';
46+
47+
export const blockHash = {
48+
block1: 'CDEwwp7TjjahriSvX3457qZ5uF3TtgEZHj7o5ssKFNs9',
49+
block2: 'CvjrdzHQB1KystXqa4bDWcLbNRaVUcrLZ3PVnMqHKyiW',
50+
};
51+
52+
export const errorBlockHash = {
53+
block1: 'CDEwwp7TjjahErrorriSvX3457qZ5uF3TtgEZHj7o5ssKFNs9',
54+
block2: 'CvjrdzHQB1KystXqa4bDWcLbNRaVUcrLZ3PVnMqHKyiW',
55+
};
56+
57+
export const signatures = {
58+
signature1: 'NfcCZq7rrxx8SN23w31Wtd53Bhw5qm6E4GaXfw1sxBEnV3J9MRdHRzwgDEEjTC5WCurvW84bkyDcpCGgGjkhi9A',
59+
signature2: 'NfcCZq7rrxx8SN23w31Wtd53Bhw5qm6E4GaXfw1sxBEnV3J9MRdHRzwgDEEjTC5WCurvW84bkyDcpCGgGjkhi9A',
60+
signature3: 'FrTD1L5nVyFqPmQDFtKX4goWoFtz9iF9bwF27DxfEmBDJ7eiBEr6H4ULPAJ4kNQTCpdQB2RJK2LuT7yUGKnDhty',
61+
};
62+
63+
export const txIds = {
64+
id1: '9Z9Kn1aDw6CQTcH3qttxJSf3PCwc6BvMirrCiroY5v6W',
65+
id2: '3eBsBWBK9wtjYgtw2B23HzVaXj8vopFcmiMSTHSJiroW',
66+
};
67+
68+
export const rawTx = {
69+
transfer: {
70+
signed:
71+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAAEAAAAA5ZjdiMDY3NWRiNTlkMTliNGJkOWM4YzcyZWFhYmJhNzVhOTg2M2QwMmIzMDExNWI4YjNjM2NhNWMyMGYwMjU0ppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAwAAAKHtzM4bwtMAAAAAAAAALgvCvIZFLIk8jb7g2teJf2WTnHWP083jtcT/uhgQCCPRc54P9xXwoXk35ePppQwS7bRMOTsl6mpIFWq75NUWCQ==',
72+
unsigned:
73+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAAEAAAAA5ZjdiMDY3NWRiNTlkMTliNGJkOWM4YzcyZWFhYmJhNzVhOTg2M2QwMmIzMDExNWI4YjNjM2NhNWMyMGYwMjU0ppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAwAAAKHtzM4bwtMAAAAAAAA=',
74+
signedHex:
75+
'40000000363162313863366463303264646361626465616335366362346632316139373163633431636339373634306636663835623037333438303030386335336130640061b18c6dc02ddcabdeac56cb4f21a971cc41cc97640f6f85b073480008c53a0d01000000000000004000000039663762303637356462353964313962346264396338633732656161626261373561393836336430326233303131356238623363336361356332306630323534a6934bd34fe3f0b2d16fe75083a75ae7df5fa7d5d766caf7432c4be1a28d26600100000003000000a1edccce1bc2d3000000000000002e0bc2bc86452c893c8dbee0dad7897f65939c758fd3cde3b5c4ffba18100823d1739e0ff715f0a17937e5e3e9a50c12edb44c393b25ea6a48156abbe4d51609',
76+
unsignedHex:
77+
'40000000363162313863366463303264646361626465616335366362346632316139373163633431636339373634306636663835623037333438303030386335336130640061b18c6dc02ddcabdeac56cb4f21a971cc41cc97640f6f85b073480008c53a0d01000000000000004000000039663762303637356462353964313962346264396338633732656161626261373561393836336430326233303131356238623363336361356332306630323534a6934bd34fe3f0b2d16fe75083a75ae7df5fa7d5d766caf7432c4be1a28d26600100000003000000a1edccce1bc2d3000000000000',
78+
},
79+
stakingActivate: {
80+
signed:
81+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAABwAAABsYXZlbmRlcmZpdmUucG9vbC5mODYzOTczLm0wppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAhEAAABkZXBvc2l0X2FuZF9zdGFrZQIAAAB7fQDQmNSvcQAAQEIPAAAAAAAAAAAAAAAAAADaTuzLDeNNux7YmqEETM+9BYcqpVBrOj6pAFmVkSeJ3+DpfhWD+TcA/u5de5B+fL75jMcUgRxI6BIcOwWwwCUF',
82+
unsigned:
83+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAABwAAABsYXZlbmRlcmZpdmUucG9vbC5mODYzOTczLm0wppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAhEAAABkZXBvc2l0X2FuZF9zdGFrZQIAAAB7fQDQmNSvcQAAQEIPAAAAAAAAAAAAAAAAAA==',
84+
},
85+
stakingDeactivate: {
86+
signed:
87+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAABwAAABsYXZlbmRlcmZpdmUucG9vbC5mODYzOTczLm0wppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAgcAAAB1bnN0YWtlFAAAAHsiYW1vdW50IjoiMTAwMDAwMCJ9ANCY1K9xAAAAAAAAAAAAAAAAAAAAAAAAAK0AJ/A4D+Yd/0ZDKl+O5SGuGZrfx0JI0cUKYuS3IVL0NJJ+nT+E1/9iojjGL+16uFii6DUPEa/NhSwhALTRDgg=',
88+
unsigned:
89+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAABwAAABsYXZlbmRlcmZpdmUucG9vbC5mODYzOTczLm0wppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAgcAAAB1bnN0YWtlFAAAAHsiYW1vdW50IjoiMTAwMDAwMCJ9ANCY1K9xAAAAAAAAAAAAAAAAAAAAAAAA',
90+
},
91+
stakingWithdraw: {
92+
signed:
93+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAABwAAABsYXZlbmRlcmZpdmUucG9vbC5mODYzOTczLm0wppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAggAAAB3aXRoZHJhdxQAAAB7ImFtb3VudCI6IjEwMDAwMDAifQDQmNSvcQAAAAAAAAAAAAAAAAAAAAAAAABQ4cg+ZujnimeWGwINQCgV1zReeNTViTSogajLocNy4H3dxAJO0KrW+WAhGmM/dtCjVvWddAaxByRB/f+023sN',
94+
unsigned:
95+
'QAAAADYxYjE4YzZkYzAyZGRjYWJkZWFjNTZjYjRmMjFhOTcxY2M0MWNjOTc2NDBmNmY4NWIwNzM0ODAwMDhjNTNhMGQAYbGMbcAt3KverFbLTyGpccxBzJdkD2+FsHNIAAjFOg0BAAAAAAAAABwAAABsYXZlbmRlcmZpdmUucG9vbC5mODYzOTczLm0wppNL00/j8LLRb+dQg6da599fp9XXZsr3QyxL4aKNJmABAAAAAggAAAB3aXRoZHJhdxQAAAB7ImFtb3VudCI6IjEwMDAwMDAifQDQmNSvcQAAAAAAAAAAAAAAAAAAAAAAAA==',
96+
},
97+
};
398
export const TEST_ACCOUNT = {
499
seed: '4b3b89f6ca897cb729d2146913877f71',
5100
ethPrivateKey: 'ABAF3CD623F5353A143AB5E2EF47CEBD94877460D3C6F5A273313DE98F96DBBC',
Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,16 @@
1-
// import { getBuilder } from '../getBuilder';
2-
// import should from 'should';
3-
// import * as testData from '../../resources/oas';
1+
import { getBuilder } from '../getBuilder';
2+
import should from 'should';
43

5-
// describe('OAS Transfer Builder', () => {
6-
// describe('Build from TxHex', function () {
7-
// it('Should successfully build from txHex', async function () {
8-
// const txBuilder = getBuilder('toas');
9-
// const privatekey = "ABAF3CD623F5353A143AB5E2EF47CEBD94877460D3C6F5A273313DE98F96DBBC";
10-
// const recipient = '0x19645032c7f1533395d44a629462e751084d3e4c';
11-
// const amount = '1000000000';
12-
// const expireToime = 1590066728;
13-
// const sequenceId = 5;
14-
// const key = testData.KEYPAIR_PRV.getKeys().prv as string;
15-
// txBuilder.fee({
16-
// fee: '1000000000',
17-
// gasLimit: '12100000',
18-
// });
19-
// txBuilder
20-
// .transfer()
21-
// .amount(amount)
22-
// .to(recipient)
23-
// .expirationTime(expireTime)
24-
// .contractSequenceId(sequenceId)
25-
// .key(key);
26-
//
27-
// txBuilder.sign({ key: privatekey });
28-
//
29-
// const tx = await txBuilder.build();
30-
//
31-
// });
32-
// });
33-
// });
4+
describe('OASYS Transfer Builder', () => {
5+
describe('Build from TxHex', function () {
6+
it('Should successfully build from txHex', async function () {
7+
const txBuilder = getBuilder('toas');
8+
const txHex =
9+
'0x02f86482249c010102825208944943dd2a2494e3ea5937954cb836692a047695b50180c001a0d3538b0f4f39bdbfa76becc187985c04ee0a01d0bc686a3c004b5f9f5a9a4fa5a036e4917be05a8ac0eb8639187ce746d7c47f74f04213118ba57873ec23ae1c2b';
10+
txBuilder.from(txHex);
11+
const parsedTx = await txBuilder.build();
12+
13+
should.exist(parsedTx.toJson());
14+
});
15+
});
16+
});

modules/sdk-core/src/bitgo/environments.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ interface EnvironmentTemplate {
2121
polygonscanApiToken?: string;
2222
arbiscanBaseUrl?: string;
2323
arbiscanApiToken?: string;
24+
oasExplorerApiToken?: string;
25+
oasExplorerBaseUrl?: string;
2426
optimisticEtherscanBaseUrl?: string;
2527
optimisticEtherscanApiToken?: string;
2628
zksyncExplorerBaseUrl?: string;

0 commit comments

Comments
 (0)