47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
export const tts = {
|
|
ttPAYMENT: 0,
|
|
ttESCROW_CREATE: 1,
|
|
ttESCROW_FINISH: 2,
|
|
ttACCOUNT_SET: 3,
|
|
ttESCROW_CANCEL: 4,
|
|
ttREGULAR_KEY_SET: 5,
|
|
ttOFFER_CREATE: 7,
|
|
ttOFFER_CANCEL: 8,
|
|
ttTICKET_CREATE: 10,
|
|
ttTICKET_CANCEL: 11,
|
|
ttSIGNER_LIST_SET: 12,
|
|
ttPAYCHAN_CREATE: 13,
|
|
ttPAYCHAN_FUND: 14,
|
|
ttPAYCHAN_CLAIM: 15,
|
|
ttCHECK_CREATE: 16,
|
|
ttCHECK_CASH: 17,
|
|
ttCHECK_CANCEL: 18,
|
|
ttDEPOSIT_PREAUTH: 19,
|
|
ttTRUST_SET: 20,
|
|
ttACCOUNT_DELETE: 21,
|
|
ttSET_HOOK: 22,
|
|
ttURI_TOKEN_MINT: 45,
|
|
ttURI_TOKEN_BURN: 46,
|
|
ttURI_TOKEN_BUY: 47,
|
|
ttURI_TOKEN_CREATE_SELL_OFFER: 48,
|
|
ttURI_TOKEN_CANCEL_SELL_OFFER: 49,
|
|
ttIMPORT: 97,
|
|
ttINVOKE: 99
|
|
}
|
|
|
|
export type TTS = typeof tts
|
|
|
|
const calculateHookOn = (arr: (keyof TTS)[]) => {
|
|
let s = '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffff'
|
|
arr.forEach(n => {
|
|
let v = BigInt(s)
|
|
v ^= BigInt(1) << BigInt(tts[n])
|
|
s = "0x" + v.toString(16)
|
|
})
|
|
s = s.replace('0x', '')
|
|
s = s.padStart(64, '0')
|
|
return s
|
|
}
|
|
|
|
export default calculateHookOn
|