@bitgo-beta/sdk-coin-sol 7.6.4-beta.556 → 7.6.4-beta.558

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.
@@ -20,4 +20,5 @@ export { WalletInitializationBuilder } from './walletInitializationBuilder';
20
20
  export { Interface, Utils };
21
21
  export { MessageBuilderFactory } from './messages';
22
22
  export { explainSolTransaction, ExplainTransactionWasmOptions } from './explainTransactionWasm';
23
+ export { MintExtensionReadResult, assertExtensionCompatibility, extensionTypeNames, mapModeledExtensions, parseMintExtensions, readMintExtensions, } from './tokenExtensions';
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
@@ -20,4 +20,5 @@ export { WalletInitializationBuilder } from './walletInitializationBuilder';
20
20
  export { Interface, Utils };
21
21
  export { MessageBuilderFactory } from './messages';
22
22
  export { explainSolTransaction } from './explainTransactionWasm';
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxTQUFTLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDNUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBBdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2F0YUluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBDbG9zZUF0YUJ1aWxkZXIgfSBmcm9tICcuL2Nsb3NlQXRhQnVpbGRlcic7XG5leHBvcnQgeyBDdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2N1c3RvbUluc3RydWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBY3RpdmF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBdXRob3JpemVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdEZWxlZ2F0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdXaXRoZHJhd0J1aWxkZXInO1xuZXhwb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlclYyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXJWMic7XG5leHBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBJbnRlcmZhY2UsIFV0aWxzIH07XG5leHBvcnQgeyBNZXNzYWdlQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL21lc3NhZ2VzJztcbmV4cG9ydCB7IGV4cGxhaW5Tb2xUcmFuc2FjdGlvbiwgRXhwbGFpblRyYW5zYWN0aW9uV2FzbU9wdGlvbnMgfSBmcm9tICcuL2V4cGxhaW5UcmFuc2FjdGlvbldhc20nO1xuIl19
23
+ export { assertExtensionCompatibility, extensionTypeNames, mapModeledExtensions, parseMintExtensions, readMintExtensions, } from './tokenExtensions';
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxTQUFTLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDNUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRyxPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGtCQUFrQixHQUNuQixNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEF0YUluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmV4cG9ydCB7IENsb3NlQXRhQnVpbGRlciB9IGZyb20gJy4vY2xvc2VBdGFCdWlsZGVyJztcbmV4cG9ydCB7IEN1c3RvbUluc3RydWN0aW9uQnVpbGRlciB9IGZyb20gJy4vY3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgU3Rha2luZ0FjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0FjdGl2YXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nQXV0aG9yaXplQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0RlbGVnYXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0RlbGVnYXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1Jhd01zZ0F1dGhvcml6ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1dpdGhkcmF3QnVpbGRlcic7XG5leHBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyVjIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlclYyJztcbmV4cG9ydCB7IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmV4cG9ydCB7IEludGVyZmFjZSwgVXRpbHMgfTtcbmV4cG9ydCB7IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vbWVzc2FnZXMnO1xuZXhwb3J0IHsgZXhwbGFpblNvbFRyYW5zYWN0aW9uLCBFeHBsYWluVHJhbnNhY3Rpb25XYXNtT3B0aW9ucyB9IGZyb20gJy4vZXhwbGFpblRyYW5zYWN0aW9uV2FzbSc7XG5leHBvcnQge1xuICBNaW50RXh0ZW5zaW9uUmVhZFJlc3VsdCxcbiAgYXNzZXJ0RXh0ZW5zaW9uQ29tcGF0aWJpbGl0eSxcbiAgZXh0ZW5zaW9uVHlwZU5hbWVzLFxuICBtYXBNb2RlbGVkRXh0ZW5zaW9ucyxcbiAgcGFyc2VNaW50RXh0ZW5zaW9ucyxcbiAgcmVhZE1pbnRFeHRlbnNpb25zLFxufSBmcm9tICcuL3Rva2VuRXh0ZW5zaW9ucyc7XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { SolTokenExtensions, SolTokenExtensionType } from '@bitgo-beta/statics';
2
+ import { type Mint } from '@solana/spl-token';
3
+ import { Commitment, Connection, PublicKey } from '@solana/web3.js';
4
+ /**
5
+ * Result of reading a Token-2022 mint's extension data.
6
+ *
7
+ * `detectedTypeNames` lists EVERY extension present on the mint — including ones BitGo does
8
+ * not model — so callers can run the onboarding safety gate (`getUnsupportedSolTokenExtensions`).
9
+ * `extensions` is the typed, storable config for the extensions BitGo does model.
10
+ */
11
+ export interface MintExtensionReadResult {
12
+ detectedTypeNames: string[];
13
+ extensions: SolTokenExtensions;
14
+ }
15
+ /** Human-readable names of every extension type present on the mint. */
16
+ export declare function extensionTypeNames(mintInfo: Mint): string[];
17
+ /** The subset of detected extensions that BitGo models. Pure — unit-testable without chain data. */
18
+ export declare function mapModeledExtensions(detectedTypeNames: readonly string[]): SolTokenExtensionType[];
19
+ /**
20
+ * Enforce the protocol-level incompatibility: Transfer Hook and Confidential
21
+ * Transfer cannot coexist on the same mint. Pure — unit-testable without chain data.
22
+ */
23
+ export declare function assertExtensionCompatibility(detectedTypeNames: readonly string[]): void;
24
+ /**
25
+ * Parse a decoded Token-2022 `Mint` into BitGo's extension model. Separated from the RPC call
26
+ * so it can be unit-tested against recorded mint fixtures.
27
+ */
28
+ export declare function parseMintExtensions(mintInfo: Mint): MintExtensionReadResult;
29
+ /** Fetch a Token-2022 mint and parse its extensions. Uses `finalized` commitment rules. */
30
+ export declare function readMintExtensions(connection: Connection, mint: string | PublicKey, commitment?: Commitment): Promise<MintExtensionReadResult>;
31
+ //# sourceMappingURL=tokenExtensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenExtensions.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAUL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAcD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,CAK3D;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB,EAAE,CASlG;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAMvF;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,uBAAuB,CAyD3E;AAED,2FAA2F;AAC3F,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,GAAE,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAIlC"}
@@ -0,0 +1,105 @@
1
+ import { SolTokenExtensionType } from '@bitgo-beta/statics';
2
+ import { AccountState, ExtensionType, getExtensionData, getExtensionTypes, getInterestBearingMintConfigState, getMint, getPermanentDelegate, getTransferFeeConfig, getTransferHook, TOKEN_2022_PROGRAM_ID, } from '@solana/spl-token';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ /** Map from `@solana/spl-token` ExtensionType names to BitGo's modeled extension types. */
5
+ const EXTENSION_NAME_MAP = {
6
+ TransferFeeConfig: SolTokenExtensionType.TransferFee,
7
+ TransferHook: SolTokenExtensionType.TransferHook,
8
+ PermanentDelegate: SolTokenExtensionType.PermanentDelegate,
9
+ InterestBearingConfig: SolTokenExtensionType.InterestBearing,
10
+ DefaultAccountState: SolTokenExtensionType.DefaultAccountState,
11
+ ScaledUiAmountConfig: SolTokenExtensionType.ScaledUiAmount,
12
+ };
13
+ const CONFIDENTIAL_TRANSFER_NAMES = ['ConfidentialTransferMint', 'ConfidentialTransferFeeConfig'];
14
+ /** Human-readable names of every extension type present on the mint. */
15
+ export function extensionTypeNames(mintInfo) {
16
+ if (mintInfo.tlvData.length === 0) {
17
+ return [];
18
+ }
19
+ return getExtensionTypes(mintInfo.tlvData).map((t) => ExtensionType[t] ?? `unknown(${t})`);
20
+ }
21
+ /** The subset of detected extensions that BitGo models. Pure — unit-testable without chain data. */
22
+ export function mapModeledExtensions(detectedTypeNames) {
23
+ const modeled = [];
24
+ for (const name of detectedTypeNames) {
25
+ const mapped = EXTENSION_NAME_MAP[name];
26
+ if (mapped !== undefined && !modeled.includes(mapped)) {
27
+ modeled.push(mapped);
28
+ }
29
+ }
30
+ return modeled;
31
+ }
32
+ /**
33
+ * Enforce the protocol-level incompatibility: Transfer Hook and Confidential
34
+ * Transfer cannot coexist on the same mint. Pure — unit-testable without chain data.
35
+ */
36
+ export function assertExtensionCompatibility(detectedTypeNames) {
37
+ const hasHook = detectedTypeNames.includes('TransferHook');
38
+ const hasConfidential = detectedTypeNames.some((n) => CONFIDENTIAL_TRANSFER_NAMES.includes(n));
39
+ if (hasHook && hasConfidential) {
40
+ throw new Error('Mint declares both Transfer Hook and Confidential Transfer, which cannot coexist');
41
+ }
42
+ }
43
+ function toBase58(key) {
44
+ return key ? key.toBase58() : undefined;
45
+ }
46
+ /**
47
+ * Parse a decoded Token-2022 `Mint` into BitGo's extension model. Separated from the RPC call
48
+ * so it can be unit-tested against recorded mint fixtures.
49
+ */
50
+ export function parseMintExtensions(mintInfo) {
51
+ const detectedTypeNames = extensionTypeNames(mintInfo);
52
+ assertExtensionCompatibility(detectedTypeNames);
53
+ const extensions = { detected: mapModeledExtensions(detectedTypeNames) };
54
+ const authorities = {
55
+ mintAuthority: toBase58(mintInfo.mintAuthority),
56
+ freezeAuthority: toBase58(mintInfo.freezeAuthority),
57
+ };
58
+ const feeConfig = getTransferFeeConfig(mintInfo);
59
+ if (feeConfig) {
60
+ extensions.transferFee = {
61
+ transferFeeBasisPoints: feeConfig.newerTransferFee.transferFeeBasisPoints,
62
+ maximumFee: feeConfig.newerTransferFee.maximumFee.toString(),
63
+ };
64
+ authorities.transferFeeConfigAuthority = toBase58(feeConfig.transferFeeConfigAuthority);
65
+ authorities.withdrawWithheldAuthority = toBase58(feeConfig.withdrawWithheldAuthority);
66
+ }
67
+ const hook = getTransferHook(mintInfo);
68
+ if (hook) {
69
+ extensions.transferHookProgramId = hook.programId.toBase58();
70
+ }
71
+ const delegate = getPermanentDelegate(mintInfo);
72
+ if (delegate?.delegate) {
73
+ authorities.permanentDelegate = delegate.delegate.toBase58();
74
+ }
75
+ const interest = getInterestBearingMintConfigState(mintInfo);
76
+ if (interest) {
77
+ extensions.interestBearing = { rateBasisPoints: interest.currentRate };
78
+ authorities.rateAuthority = toBase58(interest.rateAuthority);
79
+ }
80
+ // DefaultAccountState is a single byte (AccountState). Decoded generically to avoid depending
81
+ // on a version-specific typed getter. permissionlessThaw is NOT on-chain — resolved separately
82
+ // at onboarding; defaults false until confirmed.
83
+ const defaultStateData = getExtensionData(ExtensionType.DefaultAccountState, mintInfo.tlvData);
84
+ if (defaultStateData) {
85
+ extensions.defaultAccountState = {
86
+ frozen: defaultStateData[0] === AccountState.Frozen,
87
+ permissionlessThaw: false,
88
+ };
89
+ }
90
+ // NOTE: ScaledUiAmount config parsing (initialMultiplier) is intentionally deferred — the typed
91
+ // getter is not available in @solana/spl-token@0.4.9. The extension is still *detected* above
92
+ // (so the safety gate sees it); populating scaledUiAmount.initialMultiplier is a follow-up that
93
+ // bumps @solana/spl-token to a version exposing getScaledUiAmountConfig. See PR for 3.4.
94
+ if (Object.values(authorities).some((v) => v !== undefined)) {
95
+ extensions.authorities = authorities;
96
+ }
97
+ return { detectedTypeNames, extensions };
98
+ }
99
+ /** Fetch a Token-2022 mint and parse its extensions. Uses `finalized` commitment rules. */
100
+ export async function readMintExtensions(connection, mint, commitment = 'finalized') {
101
+ const mintPubkey = typeof mint === 'string' ? new PublicKey(mint) : mint;
102
+ const mintInfo = await getMint(connection, mintPubkey, commitment, TOKEN_2022_PROGRAM_ID);
103
+ return parseMintExtensions(mintInfo);
104
+ }
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90b2tlbkV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFDTCxZQUFZLEVBQ1osYUFBYSxFQUNiLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsaUNBQWlDLEVBQ2pDLE9BQU8sRUFDUCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFFZixxQkFBcUIsR0FDdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQTBCLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBY3BFLDJGQUEyRjtBQUMzRixNQUFNLGtCQUFrQixHQUFvRDtJQUMxRSxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO0lBQ3BELFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxZQUFZO0lBQ2hELGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLGlCQUFpQjtJQUMxRCxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQyxlQUFlO0lBQzVELG1CQUFtQixFQUFFLHFCQUFxQixDQUFDLG1CQUFtQjtJQUM5RCxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjO0NBQzNELENBQUM7QUFFRixNQUFNLDJCQUEyQixHQUFHLENBQUMsMEJBQTBCLEVBQUUsK0JBQStCLENBQUMsQ0FBQztBQUVsRyx3RUFBd0U7QUFDeEUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQWM7SUFDL0MsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFD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SUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RSxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvbFRva2VuRXh0ZW5zaW9ucywgU29sVG9rZW5FeHRlbnNpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBBY2NvdW50U3RhdGUsXG4gIEV4dGVuc2lvblR5cGUsXG4gIGdldEV4dGVuc2lvbkRhdGEsXG4gIGdldEV4dGVuc2lvblR5cGVzLFxuICBnZXRJbnRlcmVzdEJlYXJpbmdNaW50Q29uZmlnU3RhdGUsXG4gIGdldE1pbnQsXG4gIGdldFBlcm1hbmVudERlbGVnYXRlLFxuICBnZXRUcmFuc2ZlckZlZUNvbmZpZyxcbiAgZ2V0VHJhbnNmZXJIb29rLFxuICB0eXBlIE1pbnQsXG4gIFRPS0VOXzIwMjJfUFJPR1JBTV9JRCxcbn0gZnJvbSAnQHNvbGFuYS9zcGwtdG9rZW4nO1xuaW1wb3J0IHsgQ29tbWl0bWVudCwgQ29ubmVjdGlvbiwgUHVibGljS2V5IH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcblxuLyoqXG4gKiBSZXN1bHQgb2YgcmVhZGluZyBhIFRva2VuLTIwMjIgbWludCdzIGV4dGVuc2lvbiBkYXRhLlxuICpcbiAqIGBkZXRlY3RlZFR5cGVOYW1lc2AgbGlzdHMgRVZFUlkgZXh0ZW5zaW9uIHByZXNlbnQgb24gdGhlIG1pbnQg4oCUIGluY2x1ZGluZyBvbmVzIEJpdEdvIGRvZXNcbiAqIG5vdCBtb2RlbCDigJQgc28gY2FsbGVycyBjYW4gcnVuIHRoZSBvbmJvYXJkaW5nIHNhZmV0eSBnYXRlIChgZ2V0VW5zdXBwb3J0ZWRTb2xUb2tlbkV4dGVuc2lvbnNgKS5cbiAqIGBleHRlbnNpb25zYCBpcyB0aGUgdHlwZWQsIHN0b3JhYmxlIGNvbmZpZyBmb3IgdGhlIGV4dGVuc2lvbnMgQml0R28gZG9lcyBtb2RlbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNaW50RXh0ZW5zaW9uUmVhZFJlc3VsdCB7XG4gIGRldGVjdGVkVHlwZU5hbWVzOiBzdHJpbmdbXTtcbiAgZXh0ZW5zaW9uczogU29sVG9rZW5FeHRlbnNpb25zO1xufVxuXG4vKiogTWFwIGZyb20gYEBzb2xhbmEvc3BsLXRva2VuYCBFeHRlbnNpb25UeXBlIG5hbWVzIHRvIEJpdEdvJ3MgbW9kZWxlZCBleHRlbnNpb24gdHlwZXMuICovXG5jb25zdCBFWFRFTlNJT05fTkFNRV9NQVA6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIFNvbFRva2VuRXh0ZW5zaW9uVHlwZT4+ID0ge1xuICBUcmFuc2ZlckZlZUNvbmZpZzogU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVyRmVlLFxuICBUcmFuc2Zlckhvb2s6IFNvbFRva2VuRXh0ZW5zaW9uVHlwZS5UcmFuc2Zlckhvb2ssXG4gIFBlcm1hbmVudERlbGVnYXRlOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuUGVybWFuZW50RGVsZWdhdGUsXG4gIEludGVyZXN0QmVhcmluZ0NvbmZpZzogU29sVG9rZW5FeHRlbnNpb25UeXBlLkludGVyZXN0QmVhcmluZyxcbiAgRGVmYXVsdEFjY291bnRTdGF0ZTogU29sVG9rZW5FeHRlbnNpb25UeXBlLkRlZmF1bHRBY2NvdW50U3RhdGUsXG4gIFNjYWxlZFVpQW1vdW50Q29uZmlnOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuU2NhbGVkVWlBbW91bnQsXG59O1xuXG5jb25zdCBDT05GSURFTlRJQUxfVFJBTlNGRVJfTkFNRVMgPSBbJ0NvbmZpZGVudGlhbFRyYW5zZmVyTWludCcsICdDb25maWRlbnRpYWxUcmFuc2ZlckZlZUNvbmZpZyddO1xuXG4vKiogSHVtYW4tcmVhZGFibGUgbmFtZXMgb2YgZXZlcnkgZXh0ZW5zaW9uIHR5cGUgcHJlc2VudCBvbiB0aGUgbWludC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpb25UeXBlTmFtZXMobWludEluZm86IE1pbnQpOiBzdHJpbmdbXSB7XG4gIGlmIChtaW50SW5mby50bHZEYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gZ2V0RXh0ZW5zaW9uVHlwZXMobWludEluZm8udGx2RGF0YSkubWFwKCh0KSA9PiBFeHRlbnNpb25UeXBlW3RdID8/IGB1bmtub3duKCR7dH0pYCk7XG59XG5cbi8qKiBUaGUgc3Vic2V0IG9mIGRldGVjdGVkIGV4dGVuc2lvbnMgdGhhdCBCaXRHbyBtb2RlbHMuIFB1cmUg4oCUIHVuaXQtdGVzdGFibGUgd2l0aG91dCBjaGFpbiBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcE1vZGVsZWRFeHRlbnNpb25zKGRldGVjdGVkVHlwZU5hbWVzOiByZWFkb25seSBzdHJpbmdbXSk6IFNvbFRva2VuRXh0ZW5zaW9uVHlwZVtdIHtcbiAgY29uc3QgbW9kZWxlZDogU29sVG9rZW5FeHRlbnNpb25UeXBlW10gPSBbXTtcbiAgZm9yIChjb25zdCBuYW1lIG9mIGRldGVjdGVkVHlwZU5hbWVzKSB7XG4gICAgY29uc3QgbWFwcGVkID0gRVhURU5TSU9OX05BTUVfTUFQW25hbWVdO1xuICAgIGlmIChtYXBwZWQgIT09IHVuZGVmaW5lZCAmJiAhbW9kZWxlZC5pbmNsdWRlcyhtYXBwZWQpKSB7XG4gICAgICBtb2RlbGVkLnB1c2gobWFwcGVkKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1vZGVsZWQ7XG59XG5cbi8qKlxuICogRW5mb3JjZSB0aGUgcHJvdG9jb2wtbGV2ZWwgaW5jb21wYXRpYmlsaXR5OiBUcmFuc2ZlciBIb29rIGFuZCBDb25maWRlbnRpYWxcbiAqIFRyYW5zZmVyIGNhbm5vdCBjb2V4aXN0IG9uIHRoZSBzYW1lIG1pbnQuIFB1cmUg4oCUIHVuaXQtdGVzdGFibGUgd2l0aG91dCBjaGFpbiBkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RXh0ZW5zaW9uQ29tcGF0aWJpbGl0eShkZXRlY3RlZFR5cGVOYW1lczogcmVhZG9ubHkgc3RyaW5nW10pOiB2b2lkIHtcbiAgY29uc3QgaGFzSG9vayA9IGRldGVjdGVkVHlwZU5hbWVzLmluY2x1ZGVzKCdUcmFuc2Zlckhvb2snKTtcbiAgY29uc3QgaGFzQ29uZmlkZW50aWFsID0gZGV0ZWN0ZWRUeXBlTmFtZXMuc29tZSgobikgPT4gQ09ORklERU5USUFMX1RSQU5TRkVSX05BTUVTLmluY2x1ZGVzKG4pKTtcbiAgaWYgKGhhc0hvb2sgJiYgaGFzQ29uZmlkZW50aWFsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaW50IGRlY2xhcmVzIGJvdGggVHJhbnNmZXIgSG9vayBhbmQgQ29uZmlkZW50aWFsIFRyYW5zZmVyLCB3aGljaCBjYW5ub3QgY29leGlzdCcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRvQmFzZTU4KGtleTogUHVibGljS2V5IHwgbnVsbCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBrZXkgPyBrZXkudG9CYXNlNTgoKSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBQYXJzZSBhIGRlY29kZWQgVG9rZW4tMjAyMiBgTWludGAgaW50byBCaXRHbydzIGV4dGVuc2lvbiBtb2RlbC4gU2VwYXJhdGVkIGZyb20gdGhlIFJQQyBjYWxsXG4gKiBzbyBpdCBjYW4gYmUgdW5pdC10ZXN0ZWQgYWdhaW5zdCByZWNvcmRlZCBtaW50IGZpeHR1cmVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VNaW50RXh0ZW5zaW9ucyhtaW50SW5mbzogTWludCk6IE1pbnRFeHRlbnNpb25SZWFkUmVzdWx0IHtcbiAgY29uc3QgZGV0ZWN0ZWRUeXBlTmFtZXMgPSBleHRlbnNpb25UeXBlTmFtZXMobWludEluZm8pO1xuICBhc3NlcnRFeHRlbnNpb25Db21wYXRpYmlsaXR5KGRldGVjdGVkVHlwZU5hbWVzKTtcblxuICBjb25zdCBleHRlbnNpb25zOiBTb2xUb2tlbkV4dGVuc2lvbnMgPSB7IGRldGVjdGVkOiBtYXBNb2RlbGVkRXh0ZW5zaW9ucyhkZXRlY3RlZFR5cGVOYW1lcykgfTtcbiAgY29uc3QgYXV0aG9yaXRpZXM6IE5vbk51bGxhYmxlPFNvbFRva2VuRXh0ZW5zaW9uc1snYXV0aG9yaXRpZXMnXT4gPSB7XG4gICAgbWludEF1dGhvcml0eTogdG9CYXNlNTgobWludEluZm8ubWludEF1dGhvcml0eSksXG4gICAgZnJlZXplQXV0aG9yaXR5OiB0b0Jhc2U1OChtaW50SW5mby5mcmVlemVBdXRob3JpdHkpLFxuICB9O1xuXG4gIGNvbnN0IGZlZUNvbmZpZyA9IGdldFRyYW5zZmVyRmVlQ29uZmlnKG1pbnRJbmZvKTtcbiAgaWYgKGZlZUNvbmZpZykge1xuICAgIGV4dGVuc2lvbnMudHJhbnNmZXJGZWUgPSB7XG4gICAgICB0cmFuc2ZlckZlZUJhc2lzUG9pbnRzOiBmZWVDb25maWcubmV3ZXJUcmFuc2ZlckZlZS50cmFuc2ZlckZlZUJhc2lzUG9pbnRzLFxuICAgICAgbWF4aW11bUZlZTogZmVlQ29uZmlnLm5ld2VyVHJhbnNmZXJGZWUubWF4aW11bUZlZS50b1N0cmluZygpLFxuICAgIH07XG4gICAgYXV0aG9yaXRpZXMudHJhbnNmZXJGZWVDb25maWdBdXRob3JpdHkgPSB0b0Jhc2U1OChmZWVDb25maWcudHJhbnNmZXJGZWVDb25maWdBdXRob3JpdHkpO1xuICAgIGF1dGhvcml0aWVzLndpdGhkcmF3V2l0aGhlbGRBdXRob3JpdHkgPSB0b0Jhc2U1OChmZWVDb25maWcud2l0aGRyYXdXaXRoaGVsZEF1dGhvcml0eSk7XG4gIH1cblxuICBjb25zdCBob29rID0gZ2V0VHJhbnNmZXJIb29rKG1pbnRJbmZvKTtcbiAgaWYgKGhvb2spIHtcbiAgICBleHRlbnNpb25zLnRyYW5zZmVySG9va1Byb2dyYW1JZCA9IGhvb2sucHJvZ3JhbUlkLnRvQmFzZTU4KCk7XG4gIH1cblxuICBjb25zdCBkZWxlZ2F0ZSA9IGdldFBlcm1hbmVudERlbGVnYXRlKG1pbnRJbmZvKTtcbiAgaWYgKGRlbGVnYXRlPy5kZWxlZ2F0ZSkge1xuICAgIGF1dGhvcml0aWVzLnBlcm1hbmVudERlbGVnYXRlID0gZGVsZWdhdGUuZGVsZWdhdGUudG9CYXNlNTgoKTtcbiAgfVxuXG4gIGNvbnN0IGludGVyZXN0ID0gZ2V0SW50ZXJlc3RCZWFyaW5nTWludENvbmZpZ1N0YXRlKG1pbnRJbmZvKTtcbiAgaWYgKGludGVyZXN0KSB7XG4gICAgZXh0ZW5zaW9ucy5pbnRlcmVzdEJlYXJpbmcgPSB7IHJhdGVCYXNpc1BvaW50czogaW50ZXJlc3QuY3VycmVudFJhdGUgfTtcbiAgICBhdXRob3JpdGllcy5yYXRlQXV0aG9yaXR5ID0gdG9CYXNlNTgoaW50ZXJlc3QucmF0ZUF1dGhvcml0eSk7XG4gIH1cblxuICAvLyBEZWZhdWx0QWNjb3VudFN0YXRlIGlzIGEgc2luZ2xlIGJ5dGUgKEFjY291bnRTdGF0ZSkuIERlY29kZWQgZ2VuZXJpY2FsbHkgdG8gYXZvaWQgZGVwZW5kaW5nXG4gIC8vIG9uIGEgdmVyc2lvbi1zcGVjaWZpYyB0eXBlZCBnZXR0ZXIuIHBlcm1pc3Npb25sZXNzVGhhdyBpcyBOT1Qgb24tY2hhaW4g4oCUIHJlc29sdmVkIHNlcGFyYXRlbHlcbiAgLy8gYXQgb25ib2FyZGluZzsgZGVmYXVsdHMgZmFsc2UgdW50aWwgY29uZmlybWVkLlxuICBjb25zdCBkZWZhdWx0U3RhdGVEYXRhID0gZ2V0RXh0ZW5zaW9uRGF0YShFeHRlbnNpb25UeXBlLkRlZmF1bHRBY2NvdW50U3RhdGUsIG1pbnRJbmZvLnRsdkRhdGEpO1xuICBpZiAoZGVmYXVsdFN0YXRlRGF0YSkge1xuICAgIGV4dGVuc2lvbnMuZGVmYXVsdEFjY291bnRTdGF0ZSA9IHtcbiAgICAgIGZyb3plbjogZGVmYXVsdFN0YXRlRGF0YVswXSA9PT0gQWNjb3VudFN0YXRlLkZyb3plbixcbiAgICAgIHBlcm1pc3Npb25sZXNzVGhhdzogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIC8vIE5PVEU6IFNjYWxlZFVpQW1vdW50IGNvbmZpZyBwYXJzaW5nIChpbml0aWFsTXVsdGlwbGllcikgaXMgaW50ZW50aW9uYWxseSBkZWZlcnJlZCDigJQgdGhlIHR5cGVkXG4gIC8vIGdldHRlciBpcyBub3QgYXZhaWxhYmxlIGluIEBzb2xhbmEvc3BsLXRva2VuQDAuNC45LiBUaGUgZXh0ZW5zaW9uIGlzIHN0aWxsICpkZXRlY3RlZCogYWJvdmVcbiAgLy8gKHNvIHRoZSBzYWZldHkgZ2F0ZSBzZWVzIGl0KTsgcG9wdWxhdGluZyBzY2FsZWRVaUFtb3VudC5pbml0aWFsTXVsdGlwbGllciBpcyBhIGZvbGxvdy11cCB0aGF0XG4gIC8vIGJ1bXBzIEBzb2xhbmEvc3BsLXRva2VuIHRvIGEgdmVyc2lvbiBleHBvc2luZyBnZXRTY2FsZWRVaUFtb3VudENvbmZpZy4gU2VlIFBSIGZvciAzLjQuXG5cbiAgaWYgKE9iamVjdC52YWx1ZXMoYXV0aG9yaXRpZXMpLnNvbWUoKHYpID0+IHYgIT09IHVuZGVmaW5lZCkpIHtcbiAgICBleHRlbnNpb25zLmF1dGhvcml0aWVzID0gYXV0aG9yaXRpZXM7XG4gIH1cblxuICByZXR1cm4geyBkZXRlY3RlZFR5cGVOYW1lcywgZXh0ZW5zaW9ucyB9O1xufVxuXG4vKiogRmV0Y2ggYSBUb2tlbi0yMDIyIG1pbnQgYW5kIHBhcnNlIGl0cyBleHRlbnNpb25zLiBVc2VzIGBmaW5hbGl6ZWRgIGNvbW1pdG1lbnQgcnVsZXMuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE1pbnRFeHRlbnNpb25zKFxuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uLFxuICBtaW50OiBzdHJpbmcgfCBQdWJsaWNLZXksXG4gIGNvbW1pdG1lbnQ6IENvbW1pdG1lbnQgPSAnZmluYWxpemVkJ1xuKTogUHJvbWlzZTxNaW50RXh0ZW5zaW9uUmVhZFJlc3VsdD4ge1xuICBjb25zdCBtaW50UHVia2V5ID0gdHlwZW9mIG1pbnQgPT09ICdzdHJpbmcnID8gbmV3IFB1YmxpY0tleShtaW50KSA6IG1pbnQ7XG4gIGNvbnN0IG1pbnRJbmZvID0gYXdhaXQgZ2V0TWludChjb25uZWN0aW9uLCBtaW50UHVia2V5LCBjb21taXRtZW50LCBUT0tFTl8yMDIyX1BST0dSQU1fSUQpO1xuICByZXR1cm4gcGFyc2VNaW50RXh0ZW5zaW9ucyhtaW50SW5mbyk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-sol",
3
- "version": "7.6.4-beta.556",
3
+ "version": "7.6.4-beta.558",
4
4
  "description": "BitGo SDK coin library for Sol",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -56,10 +56,10 @@
56
56
  ]
57
57
  },
58
58
  "dependencies": {
59
- "@bitgo-beta/logger": "1.0.1-beta.332",
60
- "@bitgo-beta/sdk-core": "8.2.1-beta.1917",
61
- "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1916",
62
- "@bitgo-beta/statics": "15.1.1-beta.1931",
59
+ "@bitgo-beta/logger": "1.0.1-beta.334",
60
+ "@bitgo-beta/sdk-core": "8.2.1-beta.1919",
61
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1918",
62
+ "@bitgo-beta/statics": "15.1.1-beta.1933",
63
63
  "@bitgo/public-types": "6.43.0",
64
64
  "@bitgo/wasm-solana": "^2.6.0",
65
65
  "@solana/spl-stake-pool": "1.1.8",
@@ -72,11 +72,11 @@
72
72
  "tweetnacl": "^1.0.3"
73
73
  },
74
74
  "devDependencies": {
75
- "@bitgo-beta/sdk-api": "1.10.1-beta.1912",
75
+ "@bitgo-beta/sdk-api": "1.10.1-beta.1914",
76
76
  "@bitgo-beta/sdk-test": "^9.1.60",
77
77
  "@types/lodash": "^4.14.121"
78
78
  },
79
- "gitHead": "c80963e93b6f9964069b74a95cdc917d743bd55a",
79
+ "gitHead": "55649cc12e9a9ac1c95e464b962ad5aec715a792",
80
80
  "files": [
81
81
  "dist/cjs",
82
82
  "dist/esm"