@bitgo-beta/sdk-coin-wemix 1.0.1-beta.558 → 1.0.1-beta.559

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.
@@ -0,0 +1,29 @@
1
+ import { KeyPair } from '@bitgo-beta/abstract-eth';
2
+ export declare const PRIVATE_KEY_1 = "950d23766c0d0adad45a7dcf0db7a93b2c91fe411a5154c9a4ac23758c2ae4d5";
3
+ export declare const KEYPAIR_PRV: KeyPair;
4
+ export declare const SEND_TX_BROADCAST_LEGACY = "0xf901cc02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67da8000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004100dd3c4df19cf8156e9ad14db46d8ffd07c943ebbbab691ebaee58535fb1b0890e70a6cd300f2c4088d2cebec99ba24ae9495468c3091ac6a884efd780d353361c000000000000000000000000000000000000000000000000000000000000008208d4a0fa51ffcbc4d852a5f2f7870f5706b8798d81939fe77aead4052335bcd497f145a045493236056765d1cd847aca650bbe97f7148c1ea41143154ed1a5973184ba15";
5
+ export declare const SEND_TX_AMOUNT_ZERO_BROADCAST = "0xf901cc02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67da8000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000411badc5af505b10ebf6bc80322567ac71af7970a9ac1ebdf33f656bbfa2b40f652239e4ecd9b7b391db68fb84467e11dacb5d54f38770d79f4c95c9c1d4eba0a21c000000000000000000000000000000000000000000000000000000000000008208d3a01c830bee5c43a339f4f6bec2e705045986482d72cf0c504183c121a4c246a57ba068b7460d6e0b0e5b354053c78cd412286adc79e21ec3bb9169930b47e455b071";
6
+ export declare const mockDataUnsignedSweep: {
7
+ userKey: string;
8
+ backupKey: string;
9
+ derivationPath: string;
10
+ derivationSeed: string;
11
+ walletBaseAddress: string;
12
+ recoveryDestination: string;
13
+ getTxListRequest: Record<string, string>;
14
+ getTxListResponse: Record<string, unknown>;
15
+ getBalanceRequest: Record<string, string>;
16
+ getBalanceResponse: Record<string, unknown>;
17
+ };
18
+ export declare const mockDataNonBitGoRecovery: {
19
+ recoveryDestination: string;
20
+ userKeyData: string;
21
+ backupKeyData: string;
22
+ walletPassphrase: string;
23
+ walletRootAddress: string;
24
+ getTxListRequest: Record<string, string>;
25
+ getTxListResponse: Record<string, unknown>;
26
+ getBalanceRequest: Record<string, string>;
27
+ getBalanceResponse: Record<string, unknown>;
28
+ };
29
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../test/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,eAAO,MAAM,aAAa,qEAAqE,CAAC;AAEhG,eAAO,MAAM,WAAW,SAAsC,CAAC;AAE/D,eAAO,MAAM,wBAAwB,q6BAC+3B,CAAC;AAEr6B,eAAO,MAAM,6BAA6B,q6BAC03B,CAAC;AAkCr6B,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAajC,CAAC;AAkCF,eAAO,MAAM,wBAAwB;;;;;;;;;;CAYpC,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockDataNonBitGoRecovery = exports.mockDataUnsignedSweep = exports.SEND_TX_AMOUNT_ZERO_BROADCAST = exports.SEND_TX_BROADCAST_LEGACY = exports.KEYPAIR_PRV = exports.PRIVATE_KEY_1 = void 0;
4
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
5
+ exports.PRIVATE_KEY_1 = '950d23766c0d0adad45a7dcf0db7a93b2c91fe411a5154c9a4ac23758c2ae4d5';
6
+ exports.KEYPAIR_PRV = new abstract_eth_1.KeyPair({ prv: exports.PRIVATE_KEY_1 });
7
+ exports.SEND_TX_BROADCAST_LEGACY = '0xf901cc02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67da8000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004100dd3c4df19cf8156e9ad14db46d8ffd07c943ebbbab691ebaee58535fb1b0890e70a6cd300f2c4088d2cebec99ba24ae9495468c3091ac6a884efd780d353361c000000000000000000000000000000000000000000000000000000000000008208d4a0fa51ffcbc4d852a5f2f7870f5706b8798d81939fe77aead4052335bcd497f145a045493236056765d1cd847aca650bbe97f7148c1ea41143154ed1a5973184ba15';
8
+ exports.SEND_TX_AMOUNT_ZERO_BROADCAST = '0xf901cc02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67da8000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000411badc5af505b10ebf6bc80322567ac71af7970a9ac1ebdf33f656bbfa2b40f652239e4ecd9b7b391db68fb84467e11dacb5d54f38770d79f4c95c9c1d4eba0a21c000000000000000000000000000000000000000000000000000000000000008208d3a01c830bee5c43a339f4f6bec2e705045986482d72cf0c504183c121a4c246a57ba068b7460d6e0b0e5b354053c78cd412286adc79e21ec3bb9169930b47e455b071';
9
+ const getTxListRequestUnsignedSweep = {
10
+ chainid: '1112',
11
+ module: 'account',
12
+ action: 'txlist',
13
+ address: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
14
+ };
15
+ const getTxListResponseUnsignedSweep = {
16
+ status: '1',
17
+ result: [
18
+ {
19
+ hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
20
+ nonce: '23',
21
+ from: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
22
+ },
23
+ ],
24
+ message: 'OK',
25
+ };
26
+ const getBalanceRequestUnsignedSweep = {
27
+ chainid: '1112',
28
+ module: 'account',
29
+ action: 'balance',
30
+ address: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
31
+ };
32
+ const getBalanceResponseUnsignedSweep = {
33
+ status: '1',
34
+ result: '100000000000000000',
35
+ message: 'OK',
36
+ };
37
+ exports.mockDataUnsignedSweep = {
38
+ userKey: '029d2ded2d39ee7cd8d8bbba8b25e4c60bb09297936fa6b223de1f495b5ee20dcaf762367f9691f7719cb5e13e59d725669a18aad1e2522dd141fa4c7fd3d25c17',
39
+ backupKey: '029d2ded2d39ee7cd8d8bbba8b25e4c60bb09297936fa6b223de1f495b5ee20dcaf762367f9691f7719cb5e13e59d725669a18aad1e2522dd141fa4c7fd3d25c17',
40
+ derivationPath: 'm/0',
41
+ derivationSeed: '',
42
+ walletBaseAddress: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
43
+ recoveryDestination: '0xd76b586901850f2c656db0cbef795c0851bbec35',
44
+ getTxListRequest: getTxListRequestUnsignedSweep,
45
+ getTxListResponse: getTxListResponseUnsignedSweep,
46
+ getBalanceRequest: getBalanceRequestUnsignedSweep,
47
+ getBalanceResponse: getBalanceResponseUnsignedSweep,
48
+ };
49
+ const getTxListRequestNonBitGoRecovery = {
50
+ chainid: '1112',
51
+ module: 'account',
52
+ action: 'txlist',
53
+ address: '0xcf05f9c25579832d2237e52ffb4d16ca3153bb15',
54
+ };
55
+ const getTxListResponseNonBitGoRecovery = {
56
+ status: '1',
57
+ result: [
58
+ {
59
+ hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
60
+ nonce: '23',
61
+ from: '0xcf05f9c25579832d2237e52ffb4d16ca3153bb15',
62
+ },
63
+ ],
64
+ message: 'OK',
65
+ };
66
+ const getBalanceRequestNonBitGoRecovery = {
67
+ chainid: '1112',
68
+ module: 'account',
69
+ action: 'balance',
70
+ address: '0xcf05f9c25579832d2237e52ffb4d16ca3153bb15',
71
+ };
72
+ const getBalanceResponseNonBitGoRecovery = {
73
+ status: '1',
74
+ result: '100000000000000000',
75
+ message: 'OK',
76
+ };
77
+ exports.mockDataNonBitGoRecovery = {
78
+ recoveryDestination: '0x26efa259beeb4373aff0f0e37167a7b6255fe34e',
79
+ userKeyData: '{"iv":"LkXud+OJjiSgFSz2GUF90g==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"qpjtz9Fp4u8=","ct":"syqUtFTqWy/itfdnwckTSSk8a2tYVQIApUP811rfWBth0ODZzjLzWs+pM0IYi9IM9boQ5E94/Kutk1HVNWC7q1vG88B/ZI5wVc5Scr2wgOJ62TifS6VNgmaGfAlMfke0tL+2icn/NqiEAPXlan4VpiSIzGV50V+BPW6x/zWOqzA8OiZ7WApsqpIMiNHal+27g1F41ALGnpVhuDBr/M67FLvzdCz38dZoqcbV67CncqXzGFvDmw4Z2h86DP4jJFhGQUkgJqwKjFVOFREnFClkg1VgPryYpWvx5liHZv4URTSlqTUj7VS/FtYoJFobilSnHz0tCKM8q81sJ4hz9mzxsQRL6xuV4SoM44TGSPutQfCTNWyXqq9PNe4er3BpRS4FGl6qrBFkyAkx4zF8NJDI3+miFlG1YmLSq7aLRuU5RAnQTTY+XnvbE7xsF9zhAzTsJk9zjZUQVDZDAC+kOiaYtZBC8wsJ26i1zbo9g6V9O+9X5tVFauCt47W9kodi+PNservj8tBYvG6YjjJ1SK/l2SQAffa+PZX4+b51Qf8FBawdcRkCfasZPjUYjYZ0KiiRQmSg3OMz3AqEw8yelxJ/lkbBOccrNcbVpYZh+OTB2Kjvvhk5aAs4WiaO+7PM3YrhjGhjln1eAvh4ABzXlOHV31f41p5/MeOgWwf0SH2aZocM1erCpk0+dk6Mu4Z46D9NTYY0JoaljKsvxpWidtRHp93YkuNjVI1qIaMyJj3O8pe6782JfT+sRQfJJxTvLThzm0ljy9hQGHK98GRejge4T1p66Jkhu94kmKpJJHOt9iVuU5mbc3kA0pi148B5HTRzH6/I0v2m25tcspsagvaiQeaU4+RAsoTrWiFtHG3UByCMaS6jiIU0b5zKKPbWqoQV85ywyZOi4xtIQoqFUte7v1ziTzaywGb3tG2iAHYRrJgAPg2wNYDYVOOIJWdhtxw8G/uKMq9EZ8+l2FLdXpUHDc1UJzNqf6ijYbixMv0RHDMXtPC+870ciyVjGAAfPwWrnXafgJewRsYpeUxiJvf1A9DEZ0IyVKT4TjohEmuHlUxT5d0QJ1e1Pxa0qaeLrNoU"}',
80
+ backupKeyData: '{"iv":"j01iJ6D6yrIAvQG39rUK7A==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"FZhlN/ZL7EQ=","ct":"l8rWds8F0MUrnyvIkfoU9Pcf5rR9eJwZkyjzzrrQaor4oIYcqNl3+OfuXYFssSMhor3AuylZ85hLaovqndvfYtPBC2AZ1sM1AAMmwmptGWeuRuzIjd9bVUzGJdAljDZ3/ikcmMbV/drT7HSu6l2Z2tsc5XJwJujO2YobCOlBBGWM8lIqCcCORa+oliLXW2YxsRzEEM5b2H/RqqQKpZeJvYK3l5EX8aAyTIMqrIv2ZS9MaWXcY95/IYB5xO/a1zZRfxDv5WBu4RsVtS5uIH99PPNJIcAXAAFN+n58EsfZbtJ6aDWCDngtEaghiwlSUhcdwU59P6eUmzEjEvY4RJwDMX0Mq9C1kfwRxNn9+BwdaO24HaH4uWsJlHNp++onlTEb9pDp0nmMgWLQjh1n0CrF5XThSt9i5s2jMFNEE7LruwRT+TKzpN48If2L8IvwFiFWLuUtQDJ0jdl/8pRB0C0yc443DIxROBluh8hwmYqglK5YtaBZitXl++jSaXdRlgJ4wBfTuDp4Lg62wWgprPhaRFWfMJpXedDfzZEDjc2UFZvKKe7V1+f7kSB9ol18aE4xpEN5vta6L81ZMgVWkbWu7Ascu4P4vOl1M8tPWkLmg6SpPbbxYdp5Q52DMkhLz8zuAaUD5tbt6tVKTCd0USEus2s+r4VJd6WImdvNUsg9anSpWQp48jWx0ZcLHnACOyT1bRC/VcYwEB6XE81uyhWdZYrhly/MKcJNO9Auij/RxNPpELYNL1Ru+Vh7ZNSE3EotzoRba0+QkHCOq3xGi2tSzZlmJe329LZEjpiQyGM7tLV8ZnSngXXUEXGQXVDaCeQQz82VYhZpKeC9xCTPLCUMETWfiqU4XhFfRzyLjIAZKlzq6yOMsLrXFpsA85XpJciyYhO9MHd2/8yEyZfernqN3qLY0dl4dVR53E4UwWSwLSbXFV6dD1ZheB4G8tSp2oq/IRHw7ZuQlRcW0Bn5kaDr3gs5+7enQ9SSBLkPrAYfeloAVyz/ugKJ3+ZtEBFkTbobORUHtfsrjYqxb7fn6/n5kvrm8fZzy3Oq+SG//B1guuyElM/cJ8J+yHQvNv0AKQCm"}',
81
+ walletPassphrase: 'prithvi-bitgo',
82
+ walletRootAddress: '0xcf05f9c25579832d2237e52ffb4d16ca3153bb15',
83
+ getTxListRequest: getTxListRequestNonBitGoRecovery,
84
+ getTxListResponse: getTxListResponseNonBitGoRecovery,
85
+ getBalanceRequest: getBalanceRequestNonBitGoRecovery,
86
+ getBalanceResponse: getBalanceResponseNonBitGoRecovery,
87
+ };
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQW1EO0FBRXRDLFFBQUEsYUFBYSxHQUFHLGtFQUFrRSxDQUFDO0FBRW5GLFFBQUEsV0FBVyxHQUFHLElBQUksc0JBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxxQkFBYSxFQUFFLENBQUMsQ0FBQztBQUVsRCxRQUFBLHdCQUF3QixHQUNuQyxrNkJBQWs2QixDQUFDO0FBRXg1QixRQUFBLDZCQUE2QixHQUN4QyxrNkJBQWs2QixDQUFDO0FBRXI2QixNQUFNLDZCQUE2QixHQUEyQjtJQUM1RCxPQUFPLEVBQUUsTUFBTTtJQUNmLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSw0Q0FBNEM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0sOEJBQThCLEdBQTRCO0lBQzlELE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFO1FBQ047WUFDRSxJQUFJLEVBQUUsb0VBQW9FO1lBQzFFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLDRDQUE0QztTQUNuRDtLQUNGO0lBQ0QsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFBTSw4QkFBOEIsR0FBMkI7SUFDN0QsT0FBTyxFQUFFLE1BQU07SUFDZixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLCtCQUErQixHQUE0QjtJQUMvRCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRVcsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPLEVBQ0wsb0lBQW9JO0lBQ3RJLFNBQVMsRUFDUCxvSUFBb0k7SUFDdEksY0FBYyxFQUFFLEtBQUs7SUFDckIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsaUJBQWlCLEVBQUUsNENBQTRDO0lBQy9ELG1CQUFtQixFQUFFLDRDQUE0QztJQUNqRSxnQkFBZ0IsRUFBRSw2QkFBNkI7SUFDL0MsaUJBQWlCLEVBQUUsOEJBQThCO0lBQ2pELGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxrQkFBa0IsRUFBRSwrQkFBK0I7Q0FDcEQsQ0FBQztBQUVGLE1BQU0sZ0NBQWdDLEdBQTJCO0lBQy9ELE9BQU8sRUFBRSxNQUFNO0lBQ2YsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsT0FBTyxFQUFFLDRDQUE0QztDQUN0RCxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBNEI7SUFDakUsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUU7UUFDTjtZQUNFLElBQUksRUFBRSxvRUFBb0U7WUFDMUUsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsNENBQTRDO1NBQ25EO0tBQ0Y7SUFDRCxPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFFRixNQUFNLGlDQUFpQyxHQUEyQjtJQUNoRSxPQUFPLEVBQUUsTUFBTTtJQUNmLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSw0Q0FBNEM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0sa0NBQWtDLEdBQTRCO0lBQ2xFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLG1CQUFtQixFQUFFLDRDQUE0QztJQUNqRSxXQUFXLEVBQ1QsNHNDQUE0c0M7SUFDOXNDLGFBQWEsRUFDWCw0c0NBQTRzQztJQUM5c0MsZ0JBQWdCLEVBQUUsZUFBZTtJQUNqQyxpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZ0JBQWdCLEVBQUUsZ0NBQWdDO0lBQ2xELGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxpQkFBaUIsRUFBRSxpQ0FBaUM7SUFDcEQsa0JBQWtCLEVBQUUsa0NBQWtDO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcblxuZXhwb3J0IGNvbnN0IFBSSVZBVEVfS0VZXzEgPSAnOTUwZDIzNzY2YzBkMGFkYWQ0NWE3ZGNmMGRiN2E5M2IyYzkxZmU0MTFhNTE1NGM5YTRhYzIzNzU4YzJhZTRkNSc7XG5cbmV4cG9ydCBjb25zdCBLRVlQQUlSX1BSViA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBQUklWQVRFX0tFWV8xIH0pO1xuXG5leHBvcnQgY29uc3QgU0VORF9UWF9CUk9BRENBU1RfTEVHQUNZID1cbiAgJzB4ZjkwMWNjMDI4NDNiOWFjYTAwODNiOGExYTA5NDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODE4MGI5MDE2NDM5MTI1MjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk2NDUwMzJjN2YxNTMzMzk1ZDQ0YTYyOTQ2MmU3NTEwODRkM2U0YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM2I5YWNhMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1ZWM2N2RhODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEwMGRkM2M0ZGYxOWNmODE1NmU5YWQxNGRiNDZkOGZmZDA3Yzk0M2ViYmJhYjY5MWViYWVlNTg1MzVmYjFiMDg5MGU3MGE2Y2QzMDBmMmM0MDg4ZDJjZWJlYzk5YmEyNGFlOTQ5NTQ2OGMzMDkxYWM2YTg4NGVmZDc4MGQzNTMzNjFjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MjA4ZDRhMGZhNTFmZmNiYzRkODUyYTVmMmY3ODcwZjU3MDZiODc5OGQ4MTkzOWZlNzdhZWFkNDA1MjMzNWJjZDQ5N2YxNDVhMDQ1NDkzMjM2MDU2NzY1ZDFjZDg0N2FjYTY1MGJiZTk3ZjcxNDhjMWVhNDExNDMxNTRlZDFhNTk3MzE4NGJhMTUnO1xuXG5leHBvcnQgY29uc3QgU0VORF9UWF9BTU9VTlRfWkVST19CUk9BRENBU1QgPVxuICAnMHhmOTAxY2MwMjg0M2I5YWNhMDA4M2I4YTFhMDk0OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MTgwYjkwMTY0MzkxMjUyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTY0NTAzMmM3ZjE1MzMzOTVkNDRhNjI5NDYyZTc1MTA4NGQzZTRjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVlYzY3ZGE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MTFiYWRjNWFmNTA1YjEwZWJmNmJjODAzMjI1NjdhYzcxYWY3OTcwYTlhYzFlYmRmMzNmNjU2YmJmYTJiNDBmNjUyMjM5ZTRlY2Q5YjdiMzkxZGI2OGZiODQ0NjdlMTFkYWNiNWQ1NGYzODc3MGQ3OWY0Yzk1YzljMWQ0ZWJhMGEyMWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyMDhkM2EwMWM4MzBiZWU1YzQzYTMzOWY0ZjZiZWMyZTcwNTA0NTk4NjQ4MmQ3MmNmMGM1MDQxODNjMTIxYTRjMjQ2YTU3YmEwNjhiNzQ2MGQ2ZTBiMGU1YjM1NDA1M2M3OGNkNDEyMjg2YWRjNzllMjFlYzNiYjkxNjk5MzBiNDdlNDU1YjA3MSc7XG5cbmNvbnN0IGdldFR4TGlzdFJlcXVlc3RVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBjaGFpbmlkOiAnMTExMicsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICd0eGxpc3QnLFxuICBhZGRyZXNzOiAnMHg3NDI4MzgxOTNjNDE2OWY2YjJiYTdiMGUwM2Y3MjNjM2JhMDkyOGUxJyxcbn07XG5cbmNvbnN0IGdldFR4TGlzdFJlc3BvbnNlVW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6IFtcbiAgICB7XG4gICAgICBoYXNoOiAnMHhlZGU4NTVkNDNkNzBlYTFiYjc1ZGI2M2Q0Zjc1MTEzZGFlMDg0NWYwZDRiZGIwYjJkOGJkYTU1MjQ5YzcwODEyJyxcbiAgICAgIG5vbmNlOiAnMjMnLFxuICAgICAgZnJvbTogJzB4NzQyODM4MTkzYzQxNjlmNmIyYmE3YjBlMDNmNzIzYzNiYTA5MjhlMScsXG4gICAgfSxcbiAgXSxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXF1ZXN0VW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzExMTInLFxuICBtb2R1bGU6ICdhY2NvdW50JyxcbiAgYWN0aW9uOiAnYmFsYW5jZScsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlc3BvbnNlVW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6ICcxMDAwMDAwMDAwMDAwMDAwMDAnLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuZXhwb3J0IGNvbnN0IG1vY2tEYXRhVW5zaWduZWRTd2VlcCA9IHtcbiAgdXNlcktleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGJhY2t1cEtleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGRlcml2YXRpb25QYXRoOiAnbS8wJyxcbiAgZGVyaXZhdGlvblNlZWQ6ICcnLFxuICB3YWxsZXRCYXNlQWRkcmVzczogJzB4NzQyODM4MTkzYzQxNjlmNmIyYmE3YjBlMDNmNzIzYzNiYTA5MjhlMScsXG4gIHJlY292ZXJ5RGVzdGluYXRpb246ICcweGQ3NmI1ODY5MDE4NTBmMmM2NTZkYjBjYmVmNzk1YzA4NTFiYmVjMzUnLFxuICBnZXRUeExpc3RSZXF1ZXN0OiBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0VHhMaXN0UmVzcG9uc2U6IGdldFR4TGlzdFJlc3BvbnNlVW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlcXVlc3Q6IGdldEJhbGFuY2VSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlc3BvbnNlOiBnZXRCYWxhbmNlUmVzcG9uc2VVbnNpZ25lZFN3ZWVwLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVxdWVzdE5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNoYWluaWQ6ICcxMTEyJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ3R4bGlzdCcsXG4gIGFkZHJlc3M6ICcweGNmMDVmOWMyNTU3OTgzMmQyMjM3ZTUyZmZiNGQxNmNhMzE1M2JiMTUnLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVzcG9uc2VOb25CaXRHb1JlY292ZXJ5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogW1xuICAgIHtcbiAgICAgIGhhc2g6ICcweGVkZTg1NWQ0M2Q3MGVhMWJiNzVkYjYzZDRmNzUxMTNkYWUwODQ1ZjBkNGJkYjBiMmQ4YmRhNTUyNDljNzA4MTInLFxuICAgICAgbm9uY2U6ICcyMycsXG4gICAgICBmcm9tOiAnMHhjZjA1ZjljMjU1Nzk4MzJkMjIzN2U1MmZmYjRkMTZjYTMxNTNiYjE1JyxcbiAgICB9LFxuICBdLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlcXVlc3ROb25CaXRHb1JlY292ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBjaGFpbmlkOiAnMTExMicsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICdiYWxhbmNlJyxcbiAgYWRkcmVzczogJzB4Y2YwNWY5YzI1NTc5ODMyZDIyMzdlNTJmZmI0ZDE2Y2EzMTUzYmIxNScsXG59O1xuXG5jb25zdCBnZXRCYWxhbmNlUmVzcG9uc2VOb25CaXRHb1JlY292ZXJ5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogJzEwMDAwMDAwMDAwMDAwMDAwMCcsXG4gIG1lc3NhZ2U6ICdPSycsXG59O1xuXG5leHBvcnQgY29uc3QgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5ID0ge1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiAnMHgyNmVmYTI1OWJlZWI0MzczYWZmMGYwZTM3MTY3YTdiNjI1NWZlMzRlJyxcbiAgdXNlcktleURhdGE6XG4gICAgJ3tcIml2XCI6XCJMa1h1ZCtPSmppU2dGU3oyR1VGOTBnPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwicXBqdHo5RnA0dTg9XCIsXCJjdFwiOlwic3lxVXRGVHFXeS9pdGZkbndja1RTU2s4YTJ0WVZRSUFwVVA4MTFyZldCdGgwT0RaempMeldzK3BNMElZaTlJTTlib1E1RTk0L0t1dGsxSFZOV0M3cTF2Rzg4Qi9aSTV3VmM1U2NyMndnT0o2MlRpZlM2Vk5nbWFHZkFsTWZrZTB0TCsyaWNuL05xaUVBUFhsYW40VnBpU0l6R1Y1MFYrQlBXNngveldPcXpBOE9pWjdXQXBzcXBJTWlOSGFsKzI3ZzFGNDFBTEducFZodURCci9NNjdGTHZ6ZEN6MzhkWm9xY2JWNjdDbmNxWHpHRnZEbXc0WjJoODZEUDRqSkZoR1FVa2dKcXdLakZWT0ZSRW5GQ2xrZzFWZ1ByeVlwV3Z4NWxpSFp2NFVSVFNscVRVajdWUy9GdFlvSkZvYmlsU25IejB0Q0tNOHE4MXNKNGh6OW16eHNRUkw2eHVWNFNvTTQ0VEdTUHV0UWZDVE5XeVhxcTlQTmU0ZXIzQnBSUzRGR2w2cXJCRmt5QWt4NHpGOE5KREkzK21pRmxHMVltTFNxN2FMUnVVNVJBblFUVFkrWG52YkU3eHNGOXpoQXpUc0prOXpqWlVRVkRaREFDK2tPaWFZdFpCQzh3c0oyNmkxemJvOWc2VjlPKzlYNXRWRmF1Q3Q0N1c5a29kaStQTnNlcnZqOHRCWXZHNllqakoxU0svbDJTUUFmZmErUFpYNCtiNTFRZjhGQmF3ZGNSa0NmYXNaUGpVWWpZWjBLaWlSUW1TZzNPTXozQXFFdzh5ZWx4Si9sa2JCT2Njck5jYlZwWVpoK09UQjJLanZ2aGs1YUFzNFdpYU8rN1BNM1lyaGpHaGpsbjFlQXZoNEFCelhsT0hWMzFmNDFwNS9NZU9nV3dmMFNIMmFab2NNMWVyQ3BrMCtkazZNdTRaNDZEOU5UWVkwSm9hbGpLc3Z4cFdpZHRSSHA5M1lrdU5qVkkxcUlhTXlKajNPOHBlNjc4MkpmVCtzUlFmSkp4VHZMVGh6bTBsank5aFFHSEs5OEdSZWpnZTRUMXA2NkpraHU5NGttS3BKSkhPdDlpVnVVNW1iYzNrQTBwaTE0OEI1SFRSekg2L0kwdjJtMjV0Y3Nwc2FndmFpUWVhVTQrUkFzb1RyV2lGdEhHM1VCeUNNYVM2amlJVTBiNXpLS1BiV3FvUVY4NXl3eVpPaTR4dElRb3FGVXRlN3YxemlUemF5d0diM3RHMmlBSFlSckpnQVBnMndOWURZVk9PSUpXZGh0eHc4Ry91S01xOUVaOCtsMkZMZFhwVUhEYzFVSnpOcWY2aWpZYml4TXYwUkhETVh0UEMrODcwY2l5VmpHQUFmUHdXcm5YYWZnSmV3UnNZcGVVeGlKdmYxQTlERVowSXlWS1Q0VGpvaEVtdUhsVXhUNWQwUUoxZTFQeGEwcWFlTHJOb1VcIn0nLFxuICBiYWNrdXBLZXlEYXRhOlxuICAgICd7XCJpdlwiOlwiajAxaUo2RDZ5cklBdlFHMzlyVUs3QT09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIjpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIkZaaGxOL1pMN0VRPVwiLFwiY3RcIjpcImw4cldkczhGME1Vcm55dklrZm9VOVBjZjVyUjllSndaa3lqenpyclFhb3I0b0lZY3FObDMrT2Z1WFlGc3NTTWhvcjNBdXlsWjg1aExhb3ZxbmR2Zll0UEJDMkFaMXNNMUFBTW13bXB0R1dldVJ1eklqZDliVlV6R0pkQWxqRFozL2lrY21NYlYvZHJUN0hTdTZsMloydHNjNVhKd0p1ak8yWW9iQ09sQkJHV004bElxQ2NDT1JhK29saUxYVzJZeHNSekVFTTViMkgvUnFxUUtwWmVKdllLM2w1RVg4YUF5VElNcXJJdjJaUzlNYVdYY1k5NS9JWUI1eE8vYTF6WlJmeER2NVdCdTRSc1Z0UzV1SUg5OVBQTkpJY0FYQUFGTituNThFc2ZaYnRKNmFEV0NEbmd0RWFnaGl3bFNVaGNkd1U1OVA2ZVVtekVqRXZZNFJKd0RNWDBNcTlDMWtmd1J4Tm45K0J3ZGFPMjRIYUg0dVdzSmxITnArK29ubFRFYjlwRHAwbm1NZ1dMUWpoMW4wQ3JGNVhUaFN0OWk1czJqTUZORUU3THJ1d1JUK1RLenBONDhJZjJMOEl2d0ZpRldMdVV0UURKMGpkbC84cFJCMEMweWM0NDNESXhST0JsdWg4aHdtWXFnbEs1WXRhQlppdFhsKytqU2FYZFJsZ0o0d0JmVHVEcDRMZzYyd1dncHJQaGFSRldmTUpwWGVkRGZ6WkVEamMyVUZadktLZTdWMStmN2tTQjlvbDE4YUU0eHBFTjV2dGE2TDgxWk1nVldrYld1N0FzY3U0UDR2T2wxTTh0UFdrTG1nNlNwUGJieFlkcDVRNTJETWtoTHo4enVBYVVENXRidDZ0VktUQ2QwVVNFdXMycytyNFZKZDZXSW1kdk5Vc2c5YW5TcFdRcDQ4ald4MFpjTEhuQUNPeVQxYlJDL1ZjWXdFQjZYRTgxdXloV2RaWXJobHkvTUtjSk5POUF1aWovUnhOUHBFTFlOTDFSdStWaDdaTlNFM0VvdHpvUmJhMCtRa0hDT3EzeEdpMnRTelpsbUplMzI5TFpFanBpUXlHTTd0TFY4Wm5TbmdYWFVFWEdRWFZEYUNlUVF6ODJWWWhacEtlQzl4Q1RQTENVTUVUV2ZpcVU0WGhGZlJ6eUxqSUFaS2x6cTZ5T01zTHJYRnBzQTg1WHBKY2l5WWhPOU1IZDIvOHlFeVpmZXJucU4zcUxZMGRsNGRWUjUzRTRVd1dTd0xTYlhGVjZkRDFaaGVCNEc4dFNwMm9xL0lSSHc3WnVRbFJjVzBCbjVrYURyM2dzNSs3ZW5ROVNTQkxrUHJBWWZlbG9BVnl6L3VnS0ozK1p0RUJGa1Rib2JPUlVIdGZzcmpZcXhiN2ZuNi9uNWt2cm04Zlp6eTNPcStTRy8vQjFndXV5RWxNL2NKOEoreUhRdk52MEFLUUNtXCJ9JyxcbiAgd2FsbGV0UGFzc3BocmFzZTogJ3ByaXRodmktYml0Z28nLFxuICB3YWxsZXRSb290QWRkcmVzczogJzB4Y2YwNWY5YzI1NTc5ODMyZDIyMzdlNTJmZmI0ZDE2Y2EzMTUzYmIxNScsXG4gIGdldFR4TGlzdFJlcXVlc3Q6IGdldFR4TGlzdFJlcXVlc3ROb25CaXRHb1JlY292ZXJ5LFxuICBnZXRUeExpc3RSZXNwb25zZTogZ2V0VHhMaXN0UmVzcG9uc2VOb25CaXRHb1JlY292ZXJ5LFxuICBnZXRCYWxhbmNlUmVxdWVzdDogZ2V0QmFsYW5jZVJlcXVlc3ROb25CaXRHb1JlY292ZXJ5LFxuICBnZXRCYWxhbmNlUmVzcG9uc2U6IGdldEJhbGFuY2VSZXNwb25zZU5vbkJpdEdvUmVjb3ZlcnksXG59O1xuIl19
@@ -0,0 +1,3 @@
1
+ import { TransactionBuilder } from '../../src';
2
+ export declare const getBuilder: (coin: string) => TransactionBuilder;
3
+ //# sourceMappingURL=getBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/getBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,kBAEzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBuilder = void 0;
4
+ const src_1 = require("../../src");
5
+ const statics_1 = require("@bitgo-beta/statics");
6
+ const getBuilder = (coin) => {
7
+ return new src_1.TransactionBuilder(statics_1.coins.get(coin));
8
+ };
9
+ exports.getBuilder = getBuilder;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9nZXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUErQztBQUMvQyxpREFBNEM7QUFFckMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQXNCLEVBQUU7SUFDN0QsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFGVyxRQUFBLFVBQVUsY0FFckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNvbnN0IGdldEJ1aWxkZXIgPSAoY29pbjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyID0+IHtcbiAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KGNvaW4pKTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/send.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const getBuilder_1 = require("../getBuilder");
40
+ const should_1 = __importDefault(require("should"));
41
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
42
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
43
+ const testData = __importStar(require("../../resources"));
44
+ describe('Wemix Transfer Builder', () => {
45
+ describe('Build from TxHex', function () {
46
+ it('Should successfully build from txHex', async function () {
47
+ const txBuilder = (0, getBuilder_1.getBuilder)('twemix');
48
+ const txHex = '0xf86e0285174876e801825208944943dd2a2494e3ea5937954cb836692a047695b5880de0b6b3a7640000808208d3a04fd04df347f4614bae15e905e7b0af63a25f7e5b7fef00bb08854dd52c785838a01736ac3e8c5a7bf58040869277fe1904568d96bba4fb29b6f9709d95d93f880b';
49
+ txBuilder.from(txHex);
50
+ const parsedTx = await txBuilder.build();
51
+ should_1.default.exist(parsedTx.toJson());
52
+ });
53
+ });
54
+ describe('should sign and build', () => {
55
+ let txBuilder;
56
+ let key;
57
+ let contractAddress;
58
+ beforeEach(() => {
59
+ contractAddress = '0x8f977e912ef500548a0c3be6ddde9899f1199b81';
60
+ txBuilder = (0, getBuilder_1.getBuilder)('twemix');
61
+ key = testData.KEYPAIR_PRV.getKeys().prv;
62
+ txBuilder.fee({
63
+ fee: '1000000000',
64
+ gasLimit: '12100000',
65
+ });
66
+ txBuilder.counter(2);
67
+ txBuilder.type(sdk_core_1.TransactionType.Send);
68
+ txBuilder.contract(contractAddress);
69
+ });
70
+ it('a send funds transaction', async () => {
71
+ const recipient = '0x19645032c7f1533395d44a629462e751084d3e4c';
72
+ const amount = '1000000000';
73
+ const expireTime = 1590066600;
74
+ const sequenceId = 5;
75
+ txBuilder
76
+ .transfer()
77
+ .amount(amount)
78
+ .to(recipient)
79
+ .expirationTime(expireTime)
80
+ .contractSequenceId(sequenceId)
81
+ .key(key);
82
+ txBuilder.sign({ key: testData.PRIVATE_KEY_1 });
83
+ const tx = await txBuilder.build();
84
+ should_1.default.equal(tx.toJson().chainId, 0x458);
85
+ should_1.default.equal(tx.toBroadcastFormat(), testData.SEND_TX_BROADCAST_LEGACY);
86
+ should_1.default.equal(tx.signature.length, 2);
87
+ should_1.default.equal(tx.inputs.length, 1);
88
+ should_1.default.equal(tx.inputs[0].address, contractAddress);
89
+ should_1.default.equal(tx.inputs[0].value, amount);
90
+ should_1.default.equal(tx.outputs.length, 1);
91
+ should_1.default.equal(tx.outputs[0].address, recipient);
92
+ should_1.default.equal(tx.outputs[0].value, amount);
93
+ const data = tx.toJson().data;
94
+ const { to, amount: parsedAmount, expireTime: parsedExpireTime, sequenceId: parsedSequenceId, } = (0, abstract_eth_1.decodeTransferData)(data);
95
+ should_1.default.equal(to, recipient);
96
+ should_1.default.equal(parsedAmount, amount);
97
+ should_1.default.equal(parsedExpireTime, expireTime);
98
+ should_1.default.equal(parsedSequenceId, sequenceId);
99
+ });
100
+ it('a send funds with amount 0 transaction', async () => {
101
+ txBuilder
102
+ .transfer()
103
+ .amount('0')
104
+ .to('0x19645032c7f1533395d44a629462e751084d3e4c')
105
+ .expirationTime(1590066600)
106
+ .contractSequenceId(5)
107
+ .key(key);
108
+ txBuilder.sign({ key: testData.PRIVATE_KEY_1 });
109
+ const tx = await txBuilder.build();
110
+ should_1.default.equal(tx.toBroadcastFormat(), testData.SEND_TX_AMOUNT_ZERO_BROADCAST);
111
+ });
112
+ });
113
+ });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvc2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUEyQztBQUMzQyxvREFBNEI7QUFFNUIsbURBQXVEO0FBQ3ZELDJEQUE4RDtBQUM5RCwwREFBNEM7QUFFNUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUN0QyxRQUFRLENBQUMsa0JBQWtCLEVBQUU7UUFDM0IsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEtBQUs7WUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sS0FBSyxHQUNULG9PQUFvTyxDQUFDO1lBQ3ZPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFekMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7UUFDckMsSUFBSSxTQUFTLENBQUM7UUFDZCxJQUFJLEdBQUcsQ0FBQztRQUNSLElBQUksZUFBZSxDQUFDO1FBRXBCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxlQUFlLEdBQUcsNENBQTRDLENBQUM7WUFDL0QsU0FBUyxHQUFHLElBQUEsdUJBQVUsRUFBQyxRQUFRLENBQXVCLENBQUM7WUFDdkQsR0FBRyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBYSxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxHQUFHLENBQUM7Z0JBQ1os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QUM7UUFFSCxFQUFFLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDdEQsU0FBUztpQkFDTixRQUFRLEVBQUU7aUJBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQztpQkFDWCxFQUFFLENBQUMsNENBQTRDLENBQUM7aUJBQ2hELGNBQWMsQ0FBQyxVQUFVLENBQUM7aUJBQzFCLGtCQUFrQixDQUFDLENBQUMsQ0FBQztpQkFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNoRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnLi4vZ2V0QnVpbGRlcic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZGVjb2RlVHJhbnNmZXJEYXRhIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdXZW1peCBUcmFuc2ZlciBCdWlsZGVyJywgKCkgPT4ge1xuICBkZXNjcmliZSgnQnVpbGQgZnJvbSBUeEhleCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnU2hvdWxkIHN1Y2Nlc3NmdWxseSBidWlsZCBmcm9tIHR4SGV4JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndHdlbWl4Jyk7XG4gICAgICBjb25zdCB0eEhleCA9XG4gICAgICAgICcweGY4NmUwMjg1MTc0ODc2ZTgwMTgyNTIwODk0NDk0M2RkMmEyNDk0ZTNlYTU5Mzc5NTRjYjgzNjY5MmEwNDc2OTViNTg4MGRlMGI2YjNhNzY0MDAwMDgwODIwOGQzYTA0ZmQwNGRmMzQ3ZjQ2MTRiYWUxNWU5MDVlN2IwYWY2M2EyNWY3ZTViN2ZlZjAwYmIwODg1NGRkNTJjNzg1ODM4YTAxNzM2YWMzZThjNWE3YmY1ODA0MDg2OTI3N2ZlMTkwNDU2OGQ5NmJiYTRmYjI5YjZmOTcwOWQ5NWQ5M2Y4ODBiJztcbiAgICAgIHR4QnVpbGRlci5mcm9tKHR4SGV4KTtcbiAgICAgIGNvbnN0IHBhcnNlZFR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIHNob3VsZC5leGlzdChwYXJzZWRUeC50b0pzb24oKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgc2lnbiBhbmQgYnVpbGQnLCAoKSA9PiB7XG4gICAgbGV0IHR4QnVpbGRlcjtcbiAgICBsZXQga2V5O1xuICAgIGxldCBjb250cmFjdEFkZHJlc3M7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzcyA9ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnO1xuICAgICAgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndHdlbWl4JykgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgICAga2V5ID0gdGVzdERhdGEuS0VZUEFJUl9QUlYuZ2V0S2V5cygpLnBydiBhcyBzdHJpbmc7XG4gICAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgICAgZmVlOiAnMTAwMDAwMDAwMCcsXG4gICAgICAgIGdhc0xpbWl0OiAnMTIxMDAwMDAnLFxuICAgICAgfSk7XG4gICAgICB0eEJ1aWxkZXIuY291bnRlcigyKTtcbiAgICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICAgIHR4QnVpbGRlci5jb250cmFjdChjb250cmFjdEFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Egc2VuZCBmdW5kcyB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlY2lwaWVudCA9ICcweDE5NjQ1MDMyYzdmMTUzMzM5NWQ0NGE2Mjk0NjJlNzUxMDg0ZDNlNGMnO1xuICAgICAgY29uc3QgYW1vdW50ID0gJzEwMDAwMDAwMDAnO1xuICAgICAgY29uc3QgZXhwaXJlVGltZSA9IDE1OTAwNjY2MDA7XG4gICAgICBjb25zdCBzZXF1ZW5jZUlkID0gNTtcbiAgICAgIHR4QnVpbGRlclxuICAgICAgICAudHJhbnNmZXIoKVxuICAgICAgICAuYW1vdW50KGFtb3VudClcbiAgICAgICAgLnRvKHJlY2lwaWVudClcbiAgICAgICAgLmV4cGlyYXRpb25UaW1lKGV4cGlyZVRpbWUpXG4gICAgICAgIC5jb250cmFjdFNlcXVlbmNlSWQoc2VxdWVuY2VJZClcbiAgICAgICAgLmtleShrZXkpO1xuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBzaG91bGQuZXF1YWwodHgudG9Kc29uKCkuY2hhaW5JZCwgMHg0NTgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlNFTkRfVFhfQlJPQURDQVNUX0xFR0FDWSk7XG4gICAgICBzaG91bGQuZXF1YWwodHguc2lnbmF0dXJlLmxlbmd0aCwgMik7XG4gICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzLmxlbmd0aCwgMSk7XG4gICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzWzBdLmFkZHJlc3MsIGNvbnRyYWN0QWRkcmVzcyk7XG4gICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzWzBdLnZhbHVlLCBhbW91bnQpO1xuXG4gICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0uYWRkcmVzcywgcmVjaXBpZW50KTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5vdXRwdXRzWzBdLnZhbHVlLCBhbW91bnQpO1xuXG4gICAgICBjb25zdCBkYXRhID0gdHgudG9Kc29uKCkuZGF0YTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgdG8sXG4gICAgICAgIGFtb3VudDogcGFyc2VkQW1vdW50LFxuICAgICAgICBleHBpcmVUaW1lOiBwYXJzZWRFeHBpcmVUaW1lLFxuICAgICAgICBzZXF1ZW5jZUlkOiBwYXJzZWRTZXF1ZW5jZUlkLFxuICAgICAgfSA9IGRlY29kZVRyYW5zZmVyRGF0YShkYXRhKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0bywgcmVjaXBpZW50KTtcbiAgICAgIHNob3VsZC5lcXVhbChwYXJzZWRBbW91bnQsIGFtb3VudCk7XG4gICAgICBzaG91bGQuZXF1YWwocGFyc2VkRXhwaXJlVGltZSwgZXhwaXJlVGltZSk7XG4gICAgICBzaG91bGQuZXF1YWwocGFyc2VkU2VxdWVuY2VJZCwgc2VxdWVuY2VJZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSBzZW5kIGZ1bmRzIHdpdGggYW1vdW50IDAgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICB0eEJ1aWxkZXJcbiAgICAgICAgLnRyYW5zZmVyKClcbiAgICAgICAgLmFtb3VudCgnMCcpXG4gICAgICAgIC50bygnMHgxOTY0NTAzMmM3ZjE1MzMzOTVkNDRhNjI5NDYyZTc1MTA4NGQzZTRjJylcbiAgICAgICAgLmV4cGlyYXRpb25UaW1lKDE1OTAwNjY2MDApXG4gICAgICAgIC5jb250cmFjdFNlcXVlbmNlSWQoNSlcbiAgICAgICAgLmtleShrZXkpO1xuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlNFTkRfVFhfQU1PVU5UX1pFUk9fQlJPQURDQVNUKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/unit/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
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
+ const assert_1 = __importDefault(require("assert"));
7
+ const should_1 = __importDefault(require("should"));
8
+ const statics_1 = require("@bitgo-beta/statics");
9
+ const utils_1 = require("../../src/lib/utils");
10
+ describe('Network Common Configuration', () => {
11
+ it('getCommon for mainnet', () => {
12
+ const common = (0, utils_1.getCommon)(statics_1.NetworkType.MAINNET);
13
+ should_1.default.equal(common.chainName(), 'wemix mainnet');
14
+ should_1.default.equal(common.hardfork(), 'london');
15
+ should_1.default.equal(common.chainIdBN().toString(), '1111');
16
+ should_1.default.equal(common.networkIdBN().toString(), '1111');
17
+ });
18
+ it('getCommon for testnet', () => {
19
+ const common = (0, utils_1.getCommon)(statics_1.NetworkType.TESTNET);
20
+ should_1.default.equal(common.chainName(), 'wemix testnet');
21
+ should_1.default.equal(common.hardfork(), 'london');
22
+ should_1.default.equal(common.chainIdBN().toString(), '1112');
23
+ should_1.default.equal(common.networkIdBN().toString(), '1112');
24
+ });
25
+ it('getCommon for invalid network', () => {
26
+ assert_1.default.throws(() => (0, utils_1.getCommon)('invalidNetwork'), (e) => e.message === 'Missing network common configuration');
27
+ });
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLGlEQUFrRDtBQUNsRCwrQ0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtJQUM1QyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQVMsRUFBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNsRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQkFBUyxFQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtRQUN2QyxnQkFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FBQyxJQUFBLGlCQUFTLEVBQUMsZ0JBQStCLENBQUMsRUFDaEQsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssc0NBQXNDLENBQ2pFLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGdldENvbW1vbiB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuXG5kZXNjcmliZSgnTmV0d29yayBDb21tb24gQ29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgaXQoJ2dldENvbW1vbiBmb3IgbWFpbm5ldCcsICgpID0+IHtcbiAgICBjb25zdCBjb21tb24gPSBnZXRDb21tb24oTmV0d29ya1R5cGUuTUFJTk5FVCk7XG4gICAgc2hvdWxkLmVxdWFsKGNvbW1vbi5jaGFpbk5hbWUoKSwgJ3dlbWl4IG1haW5uZXQnKTtcbiAgICBzaG91bGQuZXF1YWwoY29tbW9uLmhhcmRmb3JrKCksICdsb25kb24nKTtcbiAgICBzaG91bGQuZXF1YWwoY29tbW9uLmNoYWluSWRCTigpLnRvU3RyaW5nKCksICcxMTExJyk7XG4gICAgc2hvdWxkLmVxdWFsKGNvbW1vbi5uZXR3b3JrSWRCTigpLnRvU3RyaW5nKCksICcxMTExJyk7XG4gIH0pO1xuXG4gIGl0KCdnZXRDb21tb24gZm9yIHRlc3RuZXQnLCAoKSA9PiB7XG4gICAgY29uc3QgY29tbW9uID0gZ2V0Q29tbW9uKE5ldHdvcmtUeXBlLlRFU1RORVQpO1xuICAgIHNob3VsZC5lcXVhbChjb21tb24uY2hhaW5OYW1lKCksICd3ZW1peCB0ZXN0bmV0Jyk7XG4gICAgc2hvdWxkLmVxdWFsKGNvbW1vbi5oYXJkZm9yaygpLCAnbG9uZG9uJyk7XG4gICAgc2hvdWxkLmVxdWFsKGNvbW1vbi5jaGFpbklkQk4oKS50b1N0cmluZygpLCAnMTExMicpO1xuICAgIHNob3VsZC5lcXVhbChjb21tb24ubmV0d29ya0lkQk4oKS50b1N0cmluZygpLCAnMTExMicpO1xuICB9KTtcblxuICBpdCgnZ2V0Q29tbW9uIGZvciBpbnZhbGlkIG5ldHdvcmsnLCAoKSA9PiB7XG4gICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICgpID0+IGdldENvbW1vbignaW52YWxpZE5ldHdvcmsnIGFzIE5ldHdvcmtUeXBlKSxcbiAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ01pc3NpbmcgbmV0d29yayBjb21tb24gY29uZmlndXJhdGlvbidcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wemix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wemix.d.ts","sourceRoot":"","sources":["../../../test/unit/wemix.ts"],"names":[],"mappings":""}
@@ -0,0 +1,168 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const should = __importStar(require("should"));
40
+ const sdk_test_1 = require("@bitgo-beta/sdk-test");
41
+ const sdk_api_1 = require("@bitgo-beta/sdk-api");
42
+ const index_1 = require("../../src/index");
43
+ const resources_1 = require("../resources");
44
+ const nock_1 = __importDefault(require("nock"));
45
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
46
+ const tx_1 = require("@ethereumjs/tx");
47
+ const util_1 = require("@ethereumjs/util");
48
+ const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
49
+ describe('wemix', function () {
50
+ before(function () {
51
+ bitgo.safeRegister('wemix', index_1.Wemix.createInstance);
52
+ bitgo.safeRegister('twemix', index_1.Twemix.createInstance);
53
+ bitgo.initializeTestVars();
54
+ });
55
+ describe('Basic Coin Info', function () {
56
+ it('should return the right info for wemix', function () {
57
+ const wemix = bitgo.coin('wemix');
58
+ wemix.should.be.an.instanceof(index_1.Wemix);
59
+ wemix.getChain().should.equal('wemix');
60
+ wemix.getFamily().should.equal('wemix');
61
+ wemix.getFullName().should.equal('Wemix');
62
+ wemix.getBaseFactor().should.equal(1e18);
63
+ wemix.supportsTss().should.equal(true);
64
+ wemix.allowsAccountConsolidations().should.equal(false);
65
+ });
66
+ it('should return the right info for twemix', function () {
67
+ const twemix = bitgo.coin('twemix');
68
+ twemix.should.be.an.instanceof(index_1.Twemix);
69
+ twemix.getChain().should.equal('twemix');
70
+ twemix.getFamily().should.equal('wemix');
71
+ twemix.getFullName().should.equal('Testnet wemix');
72
+ twemix.getBaseFactor().should.equal(1e18);
73
+ twemix.supportsTss().should.equal(true);
74
+ twemix.allowsAccountConsolidations().should.equal(false);
75
+ });
76
+ });
77
+ });
78
+ describe('Build Unsigned Sweep for Self-Custody Cold Wallets (MPCv2)', function () {
79
+ const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
80
+ const explorerUrl = sdk_core_1.common.Environments[bitgo.getEnv()].wemixExplorerBaseUrl;
81
+ it('should generate an unsigned sweep without derivation path', async () => {
82
+ (0, nock_1.default)(explorerUrl)
83
+ .get('/api')
84
+ .twice()
85
+ .query(resources_1.mockDataUnsignedSweep.getTxListRequest)
86
+ .reply(200, resources_1.mockDataUnsignedSweep.getTxListResponse);
87
+ (0, nock_1.default)(explorerUrl)
88
+ .get('/api')
89
+ .query(resources_1.mockDataUnsignedSweep.getBalanceRequest)
90
+ .reply(200, resources_1.mockDataUnsignedSweep.getBalanceResponse);
91
+ const baseCoin = bitgo.coin('twemix');
92
+ const transaction = (await baseCoin.recover({
93
+ userKey: resources_1.mockDataUnsignedSweep.userKey,
94
+ backupKey: resources_1.mockDataUnsignedSweep.backupKey,
95
+ walletContractAddress: resources_1.mockDataUnsignedSweep.walletBaseAddress,
96
+ recoveryDestination: resources_1.mockDataUnsignedSweep.recoveryDestination,
97
+ isTss: true,
98
+ eip1559: { maxFeePerGas: 20000000000, maxPriorityFeePerGas: 10000000000 },
99
+ gasLimit: 500000,
100
+ replayProtectionOptions: {
101
+ chain: 1112,
102
+ hardfork: 'london',
103
+ },
104
+ }));
105
+ should.exist(transaction);
106
+ transaction.should.have.property('txRequests');
107
+ transaction.txRequests.length.should.equal(1);
108
+ const txRequest = transaction.txRequests[0];
109
+ txRequest.should.have.property('walletCoin');
110
+ txRequest.walletCoin.should.equal('twemix');
111
+ txRequest.should.have.property('transactions');
112
+ txRequest.transactions.length.should.equal(1);
113
+ const tx = txRequest.transactions[0];
114
+ tx.should.have.property('nonce');
115
+ tx.should.have.property('unsignedTx');
116
+ tx.unsignedTx.should.have.property('serializedTxHex');
117
+ tx.unsignedTx.should.have.property('signableHex');
118
+ tx.unsignedTx.should.have.property('derivationPath');
119
+ tx.unsignedTx.should.have.property('feeInfo');
120
+ tx.unsignedTx.feeInfo?.should.have.property('fee');
121
+ tx.unsignedTx.feeInfo?.should.have.property('feeString');
122
+ tx.unsignedTx.should.have.property('parsedTx');
123
+ tx.unsignedTx.parsedTx?.should.have.property('spendAmount');
124
+ tx.unsignedTx.parsedTx?.should.have.property('outputs');
125
+ });
126
+ });
127
+ describe('Non Bitgo Recovery for Hot Wallets', function () {
128
+ const bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
129
+ const explorerUrl = sdk_core_1.common.Environments[bitgo.getEnv()].wemixExplorerBaseUrl;
130
+ const maxFeePerGasvalue = 20000000000;
131
+ const maxPriorityFeePerGasValue = 10000000000;
132
+ const chain_id = 1112;
133
+ const gasLimitvalue = 500000;
134
+ it('should generate a signed non-bitgo recovery tx', async () => {
135
+ (0, nock_1.default)(explorerUrl)
136
+ .get('/api')
137
+ .twice()
138
+ .query(resources_1.mockDataNonBitGoRecovery.getTxListRequest)
139
+ .reply(200, resources_1.mockDataNonBitGoRecovery.getTxListResponse);
140
+ (0, nock_1.default)(explorerUrl)
141
+ .get('/api')
142
+ .query(resources_1.mockDataNonBitGoRecovery.getBalanceRequest)
143
+ .reply(200, resources_1.mockDataNonBitGoRecovery.getBalanceResponse);
144
+ const baseCoin = bitgo.coin('twemix');
145
+ const transaction = await baseCoin.recover({
146
+ userKey: resources_1.mockDataNonBitGoRecovery.userKeyData,
147
+ backupKey: resources_1.mockDataNonBitGoRecovery.backupKeyData,
148
+ walletContractAddress: resources_1.mockDataNonBitGoRecovery.walletRootAddress,
149
+ walletPassphrase: resources_1.mockDataNonBitGoRecovery.walletPassphrase,
150
+ recoveryDestination: resources_1.mockDataNonBitGoRecovery.recoveryDestination,
151
+ isTss: true,
152
+ eip1559: { maxFeePerGas: maxFeePerGasvalue, maxPriorityFeePerGas: maxPriorityFeePerGasValue },
153
+ gasLimit: gasLimitvalue,
154
+ replayProtectionOptions: {
155
+ chain: chain_id,
156
+ hardfork: 'london',
157
+ },
158
+ });
159
+ should.exist(transaction);
160
+ transaction.should.have.property('id');
161
+ transaction.should.have.property('tx');
162
+ const tx = tx_1.FeeMarketEIP1559Transaction.fromSerializedTx(Buffer.from((0, util_1.stripHexPrefix)(transaction.tx), 'hex'));
163
+ tx.getSenderAddress().toString().should.equal(resources_1.mockDataNonBitGoRecovery.walletRootAddress);
164
+ const jsonTx = tx.toJSON();
165
+ jsonTx.to?.should.equal(resources_1.mockDataNonBitGoRecovery.recoveryDestination);
166
+ });
167
+ });
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VtaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvd2VtaXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMsbURBQStEO0FBQy9ELGlEQUErQztBQUUvQywyQ0FBZ0Q7QUFFaEQsNENBQStFO0FBQy9FLGdEQUF3QjtBQUN4QixtREFBOEM7QUFDOUMsdUNBQTZEO0FBQzdELDJDQUFrRDtBQUVsRCxNQUFNLEtBQUssR0FBaUIsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBRTFFLFFBQVEsQ0FBQyxPQUFPLEVBQUU7SUFDaEIsTUFBTSxDQUFDO1FBQ0wsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGNBQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtRQUMxQixFQUFFLENBQUMsd0NBQXdDLEVBQUU7WUFDM0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQUssQ0FBQyxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLEtBQUssQ0FB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USxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLEVBQUUsR0FBRyxnQ0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUEscUJBQWMsRUFBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9DQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQ0FBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzaG91bGQgZnJvbSAnc2hvdWxkJztcblxuaW1wb3J0IHsgVGVzdEJpdEdvLCBUZXN0Qml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstdGVzdCc7XG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1hcGknO1xuXG5pbXBvcnQgeyBXZW1peCwgVHdlbWl4IH0gZnJvbSAnLi4vLi4vc3JjL2luZGV4JztcbmltcG9ydCB7IFVuc2lnbmVkU3dlZXBUeE1QQ3YyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IG1vY2tEYXRhVW5zaWduZWRTd2VlcCwgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5IH0gZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCBub2NrIGZyb20gJ25vY2snO1xuaW1wb3J0IHsgY29tbW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgRmVlTWFya2V0RUlQMTU1OVRyYW5zYWN0aW9uIH0gZnJvbSAnQGV0aGVyZXVtanMvdHgnO1xuaW1wb3J0IHsgc3RyaXBIZXhQcmVmaXggfSBmcm9tICdAZXRoZXJldW1qcy91dGlsJztcblxuY29uc3QgYml0Z286IFRlc3RCaXRHb0FQSSA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcblxuZGVzY3JpYmUoJ3dlbWl4JywgZnVuY3Rpb24gKCkge1xuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvLnNhZmVSZWdpc3Rlcignd2VtaXgnLCBXZW1peC5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0d2VtaXgnLCBUd2VtaXguY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQmFzaWMgQ29pbiBJbmZvJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSByaWdodCBpbmZvIGZvciB3ZW1peCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHdlbWl4ID0gYml0Z28uY29pbignd2VtaXgnKTtcblxuICAgICAgd2VtaXguc2hvdWxkLmJlLmFuLmluc3RhbmNlb2YoV2VtaXgpO1xuICAgICAgd2VtaXguZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ3dlbWl4Jyk7XG4gICAgICB3ZW1peC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ3dlbWl4Jyk7XG4gICAgICB3ZW1peC5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnV2VtaXgnKTtcbiAgICAgIHdlbWl4LmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgICB3ZW1peC5zdXBwb3J0c1RzcygpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICAgIHdlbWl4LmFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgaW5mbyBmb3IgdHdlbWl4JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHdlbWl4ID0gYml0Z28uY29pbigndHdlbWl4Jyk7XG5cbiAgICAgIHR3ZW1peC5zaG91bGQuYmUuYW4uaW5zdGFuY2VvZihUd2VtaXgpO1xuICAgICAgdHdlbWl4LmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCd0d2VtaXgnKTtcbiAgICAgIHR3ZW1peC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ3dlbWl4Jyk7XG4gICAgICB0d2VtaXguZ2V0RnVsbE5hbWUoKS5zaG91bGQuZXF1YWwoJ1Rlc3RuZXQgd2VtaXgnKTtcbiAgICAgIHR3ZW1peC5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICAgICAgdHdlbWl4LnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgICAgdHdlbWl4LmFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdCdWlsZCBVbnNpZ25lZCBTd2VlcCBmb3IgU2VsZi1DdXN0b2R5IENvbGQgV2FsbGV0cyAoTVBDdjIpJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgY29uc3QgZXhwbG9yZXJVcmwgPSBjb21tb24uRW52aXJvbm1lbnRzW2JpdGdvLmdldEVudigpXS53ZW1peEV4cGxvcmVyQmFzZVVybCBhcyBzdHJpbmc7XG5cbiAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBhbiB1bnNpZ25lZCBzd2VlcCB3aXRob3V0IGRlcml2YXRpb24gcGF0aCcsIGFzeW5jICgpID0+IHtcbiAgICBub2NrKGV4cGxvcmVyVXJsKVxuICAgICAgLmdldCgnL2FwaScpXG4gICAgICAudHdpY2UoKVxuICAgICAgLnF1ZXJ5KG1vY2tEYXRhVW5zaWduZWRTd2VlcC5nZXRUeExpc3RSZXF1ZXN0KVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGFVbnNpZ25lZFN3ZWVwLmdldFR4TGlzdFJlc3BvbnNlKTtcbiAgICBub2NrKGV4cGxvcmVyVXJsKVxuICAgICAgLmdldCgnL2FwaScpXG4gICAgICAucXVlcnkobW9ja0RhdGFVbnNpZ25lZFN3ZWVwLmdldEJhbGFuY2VSZXF1ZXN0KVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGFVbnNpZ25lZFN3ZWVwLmdldEJhbGFuY2VSZXNwb25zZSk7XG5cbiAgICBjb25zdCBiYXNlQ29pbjogYW55ID0gYml0Z28uY29pbigndHdlbWl4Jyk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSAoYXdhaXQgYmFzZUNvaW4ucmVjb3Zlcih7XG4gICAgICB1c2VyS2V5OiBtb2NrRGF0YVVuc2lnbmVkU3dlZXAudXNlcktleSxcbiAgICAgIGJhY2t1cEtleTogbW9ja0RhdGFVbnNpZ25lZFN3ZWVwLmJhY2t1cEtleSxcbiAgICAgIHdhbGxldENvbnRyYWN0QWRkcmVzczogbW9ja0RhdGFVbnNpZ25lZFN3ZWVwLndhbGxldEJhc2VBZGRyZXNzLFxuICAgICAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogbW9ja0RhdGFVbnNpZ25lZFN3ZWVwLnJlY292ZXJ5RGVzdGluYXRpb24sXG4gICAgICBpc1RzczogdHJ1ZSxcbiAgICAgIGVpcDE1NTk6IHsgbWF4RmVlUGVyR2FzOiAyMDAwMDAwMDAwMCwgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IDEwMDAwMDAwMDAwIH0sXG4gICAgICBnYXNMaW1pdDogNTAwMDAwLFxuICAgICAgcmVwbGF5UHJvdGVjdGlvbk9wdGlvbnM6IHtcbiAgICAgICAgY2hhaW46IDExMTIsXG4gICAgICAgIGhhcmRmb3JrOiAnbG9uZG9uJyxcbiAgICAgIH0sXG4gICAgfSkpIGFzIFVuc2lnbmVkU3dlZXBUeE1QQ3YyO1xuICAgIHNob3VsZC5leGlzdCh0cmFuc2FjdGlvbik7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4UmVxdWVzdHMnKTtcbiAgICB0cmFuc2FjdGlvbi50eFJlcXVlc3RzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgY29uc3QgdHhSZXF1ZXN0ID0gdHJhbnNhY3Rpb24udHhSZXF1ZXN0c1swXTtcbiAgICB0eFJlcXVlc3Quc2hvdWxkLmhhdmUucHJvcGVydHkoJ3dhbGxldENvaW4nKTtcbiAgICB0eFJlcXVlc3Qud2FsbGV0Q29pbi5zaG91bGQuZXF1YWwoJ3R3ZW1peCcpO1xuICAgIHR4UmVxdWVzdC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndHJhbnNhY3Rpb25zJyk7XG4gICAgdHhSZXF1ZXN0LnRyYW5zYWN0aW9ucy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIGNvbnN0IHR4ID0gdHhSZXF1ZXN0LnRyYW5zYWN0aW9uc1swXTtcbiAgICB0eC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnbm9uY2UnKTtcbiAgICB0eC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndW5zaWduZWRUeCcpO1xuICAgIHR4LnVuc2lnbmVkVHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ3NlcmlhbGl6ZWRUeEhleCcpO1xuICAgIHR4LnVuc2lnbmVkVHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ3NpZ25hYmxlSGV4Jyk7XG4gICAgdHgudW5zaWduZWRUeC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnZGVyaXZhdGlvblBhdGgnKTtcbiAgICB0eC51bnNpZ25lZFR4LnNob3VsZC5oYXZlLnByb3BlcnR5KCdmZWVJbmZvJyk7XG4gICAgdHgudW5zaWduZWRUeC5mZWVJbmZvPy5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnZmVlJyk7XG4gICAgdHgudW5zaWduZWRUeC5mZWVJbmZvPy5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnZmVlU3RyaW5nJyk7XG4gICAgdHgudW5zaWduZWRUeC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgncGFyc2VkVHgnKTtcbiAgICB0eC51bnNpZ25lZFR4LnBhcnNlZFR4Py5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnc3BlbmRBbW91bnQnKTtcbiAgICB0eC51bnNpZ25lZFR4LnBhcnNlZFR4Py5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnb3V0cHV0cycpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnTm9uIEJpdGdvIFJlY292ZXJ5IGZvciBIb3QgV2FsbGV0cycsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAndGVzdCcgfSk7XG4gIGNvbnN0IGV4cGxvcmVyVXJsID0gY29tbW9uLkVudmlyb25tZW50c1tiaXRnby5nZXRFbnYoKV0ud2VtaXhFeHBsb3JlckJhc2VVcmwgYXMgc3RyaW5nO1xuICBjb25zdCBtYXhGZWVQZXJHYXN2YWx1ZSA9IDIwMDAwMDAwMDAwO1xuICBjb25zdCBtYXhQcmlvcml0eUZlZVBlckdhc1ZhbHVlID0gMTAwMDAwMDAwMDA7XG4gIGNvbnN0IGNoYWluX2lkID0gMTExMjtcbiAgY29uc3QgZ2FzTGltaXR2YWx1ZSA9IDUwMDAwMDtcblxuICBpdCgnc2hvdWxkIGdlbmVyYXRlIGEgc2lnbmVkIG5vbi1iaXRnbyByZWNvdmVyeSB0eCcsIGFzeW5jICgpID0+IHtcbiAgICBub2NrKGV4cGxvcmVyVXJsKVxuICAgICAgLmdldCgnL2FwaScpXG4gICAgICAudHdpY2UoKVxuICAgICAgLnF1ZXJ5KG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS5nZXRUeExpc3RSZXF1ZXN0KVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LmdldFR4TGlzdFJlc3BvbnNlKTtcbiAgICBub2NrKGV4cGxvcmVyVXJsKVxuICAgICAgLmdldCgnL2FwaScpXG4gICAgICAucXVlcnkobW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LmdldEJhbGFuY2VSZXF1ZXN0KVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LmdldEJhbGFuY2VSZXNwb25zZSk7XG5cbiAgICBjb25zdCBiYXNlQ29pbjogYW55ID0gYml0Z28uY29pbigndHdlbWl4Jyk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBhd2FpdCBiYXNlQ29pbi5yZWNvdmVyKHtcbiAgICAgIHVzZXJLZXk6IG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS51c2VyS2V5RGF0YSxcbiAgICAgIGJhY2t1cEtleTogbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LmJhY2t1cEtleURhdGEsXG4gICAgICB3YWxsZXRDb250cmFjdEFkZHJlc3M6IG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS53YWxsZXRSb290QWRkcmVzcyxcbiAgICAgIHdhbGxldFBhc3NwaHJhc2U6IG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS53YWxsZXRQYXNzcGhyYXNlLFxuICAgICAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LnJlY292ZXJ5RGVzdGluYXRpb24sXG4gICAgICBpc1RzczogdHJ1ZSxcbiAgICAgIGVpcDE1NTk6IHsgbWF4RmVlUGVyR2FzOiBtYXhGZWVQZXJHYXN2YWx1ZSwgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IG1heFByaW9yaXR5RmVlUGVyR2FzVmFsdWUgfSxcbiAgICAgIGdhc0xpbWl0OiBnYXNMaW1pdHZhbHVlLFxuICAgICAgcmVwbGF5UHJvdGVjdGlvbk9wdGlvbnM6IHtcbiAgICAgICAgY2hhaW46IGNoYWluX2lkLFxuICAgICAgICBoYXJkZm9yazogJ2xvbmRvbicsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHNob3VsZC5leGlzdCh0cmFuc2FjdGlvbik7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ2lkJyk7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4Jyk7XG4gICAgY29uc3QgdHggPSBGZWVNYXJrZXRFSVAxNTU5VHJhbnNhY3Rpb24uZnJvbVNlcmlhbGl6ZWRUeChCdWZmZXIuZnJvbShzdHJpcEhleFByZWZpeCh0cmFuc2FjdGlvbi50eCksICdoZXgnKSk7XG4gICAgdHguZ2V0U2VuZGVyQWRkcmVzcygpLnRvU3RyaW5nKCkuc2hvdWxkLmVxdWFsKG1vY2tEYXRhTm9uQml0R29SZWNvdmVyeS53YWxsZXRSb290QWRkcmVzcyk7XG4gICAgY29uc3QganNvblR4ID0gdHgudG9KU09OKCk7XG4gICAganNvblR4LnRvPy5zaG91bGQuZXF1YWwobW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5LnJlY292ZXJ5RGVzdGluYXRpb24pO1xuICB9KTtcbn0pO1xuIl19