@@ -1247,6 +1247,87 @@ describe('V2 Wallet:', function () {
12471247 } ) ;
12481248 } ) ;
12491249
1250+ describe ( 'Canton tests: ' , ( ) => {
1251+ let cantonWallet : Wallet ;
1252+ const cantonBitgo = TestBitGo . decorate ( BitGo , { env : 'mock' } ) ;
1253+ cantonBitgo . initializeTestVars ( ) ;
1254+ const walletData = {
1255+ id : '598f606cd8fc24710d2ebadb1d9459bb' ,
1256+ coinSpecific : {
1257+ baseAddress : '12205::12205b4e3537a95126d90604592344d8ad3c3ddccda4f79901954280ee19c576714d' ,
1258+ pendingChainInitialization : true ,
1259+ lastChainIndex : { 0 : 0 } ,
1260+ } ,
1261+ coin : 'tcanton' ,
1262+ keys : [
1263+ '598f606cd8fc24710d2ebad89dce86c2' ,
1264+ '598f606cc8e43aef09fcb785221d9dd2' ,
1265+ '5935d59cf660764331bafcade1855fd7' ,
1266+ ] ,
1267+ multisigType : 'tss' ,
1268+ } ;
1269+
1270+ before ( async function ( ) {
1271+ cantonWallet = new Wallet ( bitgo , bitgo . coin ( 'tcanton' ) , walletData ) ;
1272+ nock ( bgUrl ) . get ( `/api/v2/${ cantonWallet . coin ( ) } /key/${ cantonWallet . keyIds ( ) [ 0 ] } ` ) . times ( 3 ) . reply ( 200 , {
1273+ id : '598f606cd8fc24710d2ebad89dce86c2' ,
1274+ pub : '5f8WmC2uW9SAk7LMX2r4G1Bx8MMwx8sdgpotyHGodiZo' ,
1275+ source : 'user' ,
1276+ encryptedPrv :
1277+ '{"iv":"hNK3rg82P1T94MaueXFAbA==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"cV4wU4EzPjs=","ct":"9VZX99Ztsb6p75Cxl2lrcXBplmssIAQ9k7ZA81vdDYG4N5dZ36BQNWVfDoelj9O31XyJ+Xri0XKIWUzl0KKLfUERplmtNoOCn5ifJcZwCrOxpHZQe3AJ700o8Wmsrk5H"}' ,
1278+ coinSpecific : { } ,
1279+ } ) ;
1280+
1281+ nock ( bgUrl ) . get ( `/api/v2/${ cantonWallet . coin ( ) } /key/${ cantonWallet . keyIds ( ) [ 1 ] } ` ) . times ( 2 ) . reply ( 200 , {
1282+ id : '598f606cc8e43aef09fcb785221d9dd2' ,
1283+ pub : 'G1s43JTzNZzqhUn4aNpwgcc6wb9FUsZQD5JjffG6isyd' ,
1284+ encryptedPrv :
1285+ '{"iv":"UFrt/QlIUR1XeQafPBaAlw==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"7VPBYaJXPm8=","ct":"ajFKv2y8yaIBXQ39sAbBWcnbiEEzbjS4AoQtp5cXYqjeDRxt3aCxemPm22pnkJaCijFjJrMHbkmsNhNYzHg5aHFukN+nEAVssyNwHbzlhSnm8/BVN50yAdAAtWreh8cp"}' ,
1286+ source : 'backup' ,
1287+ coinSpecific : { } ,
1288+ } ) ;
1289+
1290+ nock ( bgUrl ) . get ( `/api/v2/${ cantonWallet . coin ( ) } /key/${ cantonWallet . keyIds ( ) [ 2 ] } ` ) . times ( 2 ) . reply ( 200 , {
1291+ id : '5935d59cf660764331bafcade1855fd7' ,
1292+ pub : 'GH1LV1e9FdqGe8U2c8PMEcma3fDeh1ktcGVBrD3AuFqx' ,
1293+ encryptedPrv :
1294+ '{"iv":"iIuWOHIOErEDdiJn6g46mg==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"Rzh7RRJksj0=","ct":"rcNICUfp9FakT53l+adB6XKzS1vNTc0Qq9jAtqnxA+ScssiS4Q0l3sgG/0gDy5DaZKtXryKBDUvGsi7b/fYaFCUpAoZn/VZTOhOUN/mo7ZHb4OhOXL29YPPkiryAq9Cr"}' ,
1295+ source : 'bitgo' ,
1296+ coinSpecific : { } ,
1297+ } ) ;
1298+ } ) ;
1299+
1300+ after ( async function ( ) {
1301+ nock . cleanAll ( ) ;
1302+ } ) ;
1303+
1304+ it ( 'Should build wallet initialization transactions correctly' , async function ( ) {
1305+ const txRequestNock = nock ( bgUrl )
1306+ . post ( `/api/v2/wallet/${ cantonWallet . id ( ) } /txrequests` )
1307+ . reply ( ( url , body ) => {
1308+ const bodyParams = body as any ;
1309+ bodyParams . intent . intentType . should . equal ( 'createAccount' ) ;
1310+ bodyParams . intent . recipients . length . should . equal ( 0 ) ;
1311+ return [
1312+ 200 ,
1313+ {
1314+ apiVersion : 'full' ,
1315+ transactions : [
1316+ {
1317+ unsignedTx : {
1318+ serializedTxHex : 'fake transaction' ,
1319+ feeInfo : 'fake fee info' ,
1320+ } ,
1321+ } ,
1322+ ] ,
1323+ } ,
1324+ ] ;
1325+ } ) ;
1326+ await cantonWallet . sendWalletInitialization ( ) ;
1327+ txRequestNock . isDone ( ) . should . equal ( true ) ;
1328+ } ) ;
1329+ } ) ;
1330+
12501331 describe ( 'Solana tests: ' , ( ) => {
12511332 let solWallet : Wallet ;
12521333 const passphrase = '#Bondiola1234' ;
0 commit comments