Transaction

4e77e445bbe01ca32d67f06ca0ba0e0a7620004e52b158c315cd33838a1d401c
( - )
203,407
2021-02-10 12:16:42
1
615 B

2 Inputs

Total Input:
  • Q!qol·Œ‰°>‡´R݉üévOþÍ(X›AÿW.V‹!&´-*CÂÜFÁŒ"^wVÚÉÒñèŠe-%?‘/fBrð^!Àñ¦™~µÁ”ego¨B‰­Õüm»\P‘6‘ZÞӓ!u’¾qʧ§"ýU¶9ˆ0“ÅÉzô-å©NgµøfÓô!ï'‰C×Â*S!åLEÀË–Ü®ãÐ-ºuo§„ˆAñ‡bU®M©E{"details":1,"settlementInfo":2,"keyDates":3,"fees":4,"status":5,"roles":6,"kycRequirements":7,"__cls":"class SubTradeSC {\r\n constructor(\r\n owners = [],\r\n fundFromId,\r\n fundToId,\r\n batchOrderId,\r\n positionId,\r\n positionSellingAmount,\r\n chatId,\r\n facilityId = '',\r\n facilityType = '',\r\n price = 0,\r\n amountOfTrade = 0,\r\n discountAmount = 0,\r\n dealId = '',\r\n buySellIndicator = '',\r\n investmentType = 'Assignment',\r\n parDistressedIndicator = '',\r\n agentId = '',\r\n grossSettleNetIndicator = false,\r\n totalPreCloseTradeAmount = 0,\r\n totalClosingTradeAmount = 0,\r\n tradeType = 'Primary',\r\n tradeAssociation = '',\r\n primarySpecification = '',\r\n documentationType = '',\r\n fundingMemoAdvice = false,\r\n currency = 'USD',\r\n finalRate = 0,\r\n margin = 0,\r\n CUSIP = '',\r\n ISIN = '',\r\n tranche = '',\r\n baseRate = 0,\r\n transferAtHistoricRate = false,\r\n historicRate = 0,\r\n affiliation = false,\r\n cashlessRoll = false,\r\n actualAmount = 0,\r\n costOfCreditValuation = 0,\r\n costingMethod = 'WAC',\r\n tradeDate = '',\r\n tradeBookingDate = '',\r\n repricingDate = '',\r\n legalTradeDate = '',\r\n delayedCompEndDate = '',\r\n expectedSettlementDate = '',\r\n costOfCarryEndDate = '',\r\n assignmentFees = false,\r\n assignmentFeeAmount = 0,\r\n assignmentFeeType = '',\r\n accrualSettlementType = '',\r\n delayedComp = '',\r\n delayedCompDetails = '',\r\n amendmentFee = 0,\r\n costOfFund = 0,\r\n costOfCarry = 0,\r\n brokerTrade = false,\r\n brokerageFeeType = '',\r\n brokerageFeeAmount = 0,\r\n brokerageRate = 0,\r\n brokerFeeWaiving = 0,\r\n brokerId = '',\r\n internalCommission = 0,\r\n SECFees = 0,\r\n MISCFees = 0,\r\n assignmentRecordationBuyer = 0,\r\n assignmentRecordationSeller = 0,\r\n upfrontFee = 0,\r\n adhocBuyerFee = 0,\r\n adhocSellerFee = 0,\r\n settlementStatus = '',\r\n settlementTime = '',\r\n tradeStatus = '',\r\n settlementInstructions = '',\r\n dependency = '',\r\n buyer,\r\n seller,\r\n agent,\r\n trustee,\r\n compliance,\r\n kycRequirements,\r\n // =========================================================================\r\n // State machine\r\n // =========================================================================\r\n state = [\r\n [\r\n 'Trade Submission', //title\r\n [\r\n [\r\n 'seller', //role\r\n 'doc-generate', //type\r\n 'Generate Trade Ticket', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n false, //sync\r\n ],\r\n [\r\n 'Buyer affiliation', //title\r\n [\r\n [\r\n 'agent', //role\r\n 'approval', //type\r\n 'Please send an e-mail to request borrower consent. Click Approve once you have gotten it', //mesasge\r\n false, //complete\r\n false //editable\r\n ],\r\n [\r\n 'buyer', //role\r\n 'affiliation', // type\r\n 'Please generate the affiliation letter.', //message,\r\n false, //complete\r\n false //editable\r\n ]\r\n ], //roles\r\n '', // document\r\n false //sync\r\n ],\r\n [\r\n 'Trade Approval', //title\r\n [\r\n [\r\n 'buyer', //role\r\n 'approval', //type\r\n 'Please approve the trade terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'seller', //role\r\n 'approval', //type\r\n 'Please approve the trade terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'trustee', //role\r\n 'approval', //type\r\n 'Please approve the trade terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n false, //sync\r\n ],\r\n [\r\n 'Approve A&A', //title\r\n [\r\n [\r\n 'seller', //role\r\n 'doc-generate', //type\r\n 'Please generate the A&A terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'buyer', //role\r\n 'approval', //type\r\n 'Please approve the A&A terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'seller', //role\r\n 'approval', //type\r\n 'Please approve the A&A terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'agent', //role\r\n 'approval', //type\r\n 'Please approve the A&A terms', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n true, //sync\r\n ],\r\n [\r\n 'Primary Allocation Confirmation', //title\r\n [\r\n [\r\n 'seller', //role\r\n 'doc-generate', //type\r\n 'Please generate the Primary Allocation Confirmation document', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'buyer', //role\r\n 'approval', //type\r\n 'Please approve the Primary Allocation Confirmation document', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'seller', //role\r\n 'approval', //type\r\n 'Please approve the Primary Allocation Confirmation document', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n true, //sync\r\n ],\r\n [\r\n 'Settlement Date Coordination', //title\r\n [\r\n [\r\n 'buyer', //role\r\n 'date', //type\r\n 'Please establish the settlement date', //message\r\n false, //complete\r\n true, //editable\r\n ],\r\n [\r\n 'seller', //role\r\n 'approval', //type\r\n `Please approve settlement date: {keyDates.expectedSettlementDate}`, //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'agent', //role\r\n 'approval', //type\r\n 'Please approve settlement date: {keyDates.expectedSettlementDate}', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n true, //sync\r\n ],\r\n [\r\n 'Funding memo acknowledgement', //title\r\n [\r\n [\r\n 'seller', //role\r\n 'doc-generate', //type\r\n 'Please generate the Funding Memo document', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'buyer', //role\r\n 'approval', //type\r\n 'Please approve the Funding Memo document', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n [\r\n 'seller', //role\r\n 'approval', //type\r\n 'Please approve the Funding Memo document', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n true, //sync\r\n ],\r\n [\r\n 'Transfer Position', //title\r\n [\r\n [\r\n 'seller', //role\r\n 'transfer', //type\r\n 'Transfer position to the buyer', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n false, //sync\r\n ],\r\n [\r\n 'Purchase Trade', //title\r\n [\r\n [\r\n 'buyer', //role\r\n 'approval', //type\r\n 'Purchase Trade', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', //document\r\n false, //sync\r\n ],\r\n [\r\n 'Finalize Trade', //title\r\n [\r\n [\r\n 'agent', //role\r\n 'finalize', //type\r\n 'Please finalize the subtrade', //message\r\n false, //complete\r\n false, //editable\r\n ],\r\n ], //roles\r\n '', // document\r\n false, //sync\r\n ],\r\n ],\r\n stateChecksum = 0\r\n ) {\r\n this._owners = owners;\r\n this.fundFromId = fundFromId;\r\n this.fundToId = fundToId;\r\n this.batchOrderId = batchOrderId;\r\n this.positionId = positionId;\r\n this.positionSellingPercentage = positionSellingAmount;\r\n this.chatId = chatId;\r\n if (!fundingMemoAdvice && !!state.find(s => s[0] === 'Funding memo acknowledgement')) {\r\n state.splice(state.findIndex(s => s[0] === 'Funding memo acknowledgement'), 1)\r\n }\r\n this.state = state;\r\n this.stateChecksum = stateChecksum;\r\n this.finalized = false;\r\n this.stateMachineSteps = 0;\r\n\r\n this.details = {\r\n _owners: owners,\r\n facilityId,\r\n facilityType,\r\n price,\r\n amountOfTrade,\r\n discountAmount,\r\n dealId,\r\n buySellIndicator,\r\n investmentType,\r\n parDistressedIndicator,\r\n agentId,\r\n grossSettleNetIndicator,\r\n totalPreCloseTradeAmount,\r\n totalClosingTradeAmount,\r\n tradeType,\r\n tradeAssociation,\r\n primarySpecification,\r\n documentationType,\r\n };\r\n\r\n this.settlementInfo = {\r\n _owners: owners,\r\n fundingMemoAdvice,\r\n currency,\r\n finalRate,\r\n margin,\r\n CUSIP,\r\n ISIN,\r\n tranche,\r\n baseRate,\r\n transferAtHistoricRate,\r\n historicRate,\r\n affiliation,\r\n affiliateFund: '',\r\n cashlessRoll,\r\n actualAmount,\r\n costOfCreditValuation,\r\n costingMethod,\r\n };\r\n\r\n this.keyDates = {\r\n _owners: owners,\r\n tradeDate,\r\n tradeBookingDate,\r\n repricingDate,\r\n legalTradeDate,\r\n delayedCompEndDate,\r\n expectedSettlementDate,\r\n costOfCarryEndDate,\r\n };\r\n\r\n this.fees = {\r\n _owners: owners,\r\n assignmentFees,\r\n assignmentFeeAmount,\r\n assignmentFeeType,\r\n accrualSettlementType,\r\n delayedComp,\r\n delayedCompDetails,\r\n amendmentFee,\r\n costOfFund,\r\n costOfCarry,\r\n brokerTrade,\r\n brokerageFeeType,\r\n brokerageFeeAmount,\r\n brokerageRate,\r\n brokerFeeWaiving,\r\n brokerId,\r\n internalCommission,\r\n SECFees,\r\n MISCFees,\r\n assignmentRecordationBuyer,\r\n assignmentRecordationSeller,\r\n upfrontFee,\r\n adhocBuyerFee,\r\n adhocSellerFee,\r\n };\r\n\r\n this.status = {\r\n _owners: owners,\r\n settlementStatus,\r\n settlementTime,\r\n tradeStatus,\r\n settlementInstructions,\r\n dependency,\r\n dependencyOrderId: '',\r\n };\r\n\r\n this.roles = {\r\n _owners: owners,\r\n buyer,\r\n seller,\r\n agent,\r\n trustee,\r\n compliance,\r\n };\r\n this.kycRequirements = kycRequirements;\r\n }\r\n\r\n setPositionSellingAmount(newPositionSellingPercentage) {\r\n this.positionSellingPercentage = newPositionSellingPercentage;\r\n }\r\n\r\n // position to be sold\r\n setPosition(positionId) {\r\n this.positionId = positionId;\r\n }\r\n\r\n addOwner(pubKey) {\r\n this._owners.push(pubKey);\r\n }\r\n\r\n setChatId(chatId) {\r\n this.chatId = chatId;\r\n }\r\n\r\n getRoles(roles) {\r\n // [\r\n // [\r\n // 'seller', //role\r\n // 'doc-generate', //type\r\n // 'Generate Trade Ticket', //message\r\n // false //complete\r\n // ]\r\n // ], //roles\r\n let rolesObjects = [];\r\n for (let i = 0; i < roles.length; i += 1) {\r\n let roleArray = roles[i];\r\n rolesObjects.push({ role: roleArray[0], type: roleArray[1], message: roleArray[2], complete: roleArray[3], editable: roleArray[4] });\r\n }\r\n return rolesObjects;\r\n }\r\n\r\n buildStateMachine() {\r\n // state = [\r\n // [\r\n // 'Trade Submission', //title\r\n // [\r\n // [\r\n // 'seller', //role\r\n // 'doc-generate', //type\r\n // 'Generate Trade Ticket', //message\r\n // false //complete\r\n // ]\r\n // ], //roles\r\n // '', // document\r\n // false //sync\r\n // ],\r\n // ]\r\n let stateMachine = [];\r\n for (let i = 0; i < this.state.length; i += 1) {\r\n let stepArray = this.state[i];\r\n stateMachine.push({ id: i, title: stepArray[0], roles: this.getRoles(stepArray[1]), document: stepArray[2], sync: stepArray[3] });\r\n }\r\n return stateMachine;\r\n }\r\n\r\n processRoles(roles) {\r\n let tmpRoles = [];\r\n for (let i = 0; i < roles.length; i += 1) {\r\n let stepArray = roles[i];\r\n tmpRoles.push([stepArray.role, stepArray.type, stepArray.message, stepArray.complete, stepArray.editable]);\r\n }\r\n return tmpRoles;\r\n }\r\n\r\n saveStateMachine(stateMachine) {\r\n let tmpState = [];\r\n for (let i = 0; i < stateMachine.length; i += 1) {\r\n let stepArray = stateMachine[i];\r\n tmpState.push([stepArray.title, this.processRoles(stepArray.roles), stepArray.document, stepArray.sync]);\r\n }\r\n this.state = tmpState;\r\n }\r\n\r\n updateState(step, role, data) {\r\n if (this.finalized) return;\r\n const stateMachine = this.buildStateMachine();\r\n const changedStep = stateMachine.find(s => s.id === step.id);\r\n if (!changedStep) throw new Error(`Step doesnt exist.`);\r\n const roleAction = changedStep.roles.find(r => r.role === role && (!r.complete || r.editable));\r\n if (!roleAction) throw new Error(`Role ${role} does not need to act on this step.`);\r\n\r\n switch (roleAction.type) {\r\n case 'approval':\r\n if (data === false) {\r\n changedStep.roles.forEach(r => (r.complete = false));\r\n changedStep.document = '';\r\n // logic specific to Settlement date step\r\n if (step.title === 'Settlement Date Coordination') {\r\n this.keyDates.expectedSettlementDate = '';\r\n }\r\n } else {\r\n roleAction.complete = true;\r\n }\r\n\r\n break;\r\n\r\n case 'transfer':\r\n roleAction.complete = data;\r\n break;\r\n\r\n case 'finalize':\r\n roleAction.complete = data;\r\n this.finalized = true;\r\n break;\r\n\r\n case 'date':\r\n this.keyDates.expectedSettlementDate = data;\r\n roleAction.complete = true;\r\n break;\r\n\r\n case 'doc-generate':\r\n changedStep.document = data;\r\n roleAction.complete = true;\r\n break;\r\n\r\n case 'affiliation':\r\n roleAction.complete = true;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n this.saveStateMachine(stateMachine);\r\n this.stateChecksum = this.stateChecksum + 1;\r\n }\r\n\r\n addFile(file) {\r\n this.files.push(file);\r\n }\r\n\r\n getTotalCommitment() {\r\n return this.details.price * this.positionSellingPercentage;\r\n }\r\n\r\n setAffilateFund(fundId) {\r\n this.settlementInfo.affiliateFund = fundId;\r\n }\r\n}","__index":{"obj":0},"__func":"constructor","__args":[["02716f6cb78c89b03e879db452dd89fce9764f00fecd28589b41ff1f07572e568b","0226b42d2a43c2dc46c18c225e7756dac9d2f1e88a652d253f912f66427206f05e","0200c0f1a6997eb5c1946513676fa84289add5fc6dbb5c509136915a0e12ded393","029d7592be0071caa7a722fd55b639883093c5c97af42de5a94e67b57ff866d3f4","02ef278943d7c2122a5321e54c45c090cb96dcaee3d02dba756fa7848841f18762"],"c6fe5c2f6e3676bfc06a0b9cb8ebc16fc62efd866b1b15b190ddcbc135824de9:0","328f52cf03cf39e4461e1cf4b33ce57c87df5d52874ea48655cc689ae29212c3:0","239cbd0501080ad604e1ed3ca82e21bb19e3e2a3bbcf06af8c0d7c2e2957cbb4:0","d30cfadb86e1d89b93f6ec311eb304f4e5a39d882eac69861fc7367689e744e6:0",300,"","ab37f884d7d1b3adffdf636a4ea1ede6b92bac73de9ed075b97bcff61ef20ea5:0","Facility 1 Agent 1",9,300,0,"ecad8379a7e0d8e62da3ef0de8ef6b56483814a4e1f2548550cc80466f41e1d5:0","Buy","Assignment","Par","3400fa174b2e2fd14b5b22b03db432596c6c816b5735f6eef5aec962b3359eba:0","Gross",0,0,"Primary","LMA","Par desk to customer","LMA",false,"USD",0,0,"888888888","888888888888","0",0,false,0,false,false,0,0,"WAC","02/28/2021","03/30/2021","02/09/2021","02/19/2021","02/21/2021","","02/26/2021",false,0,"","0","0","",0,0,0,false,"",0,0,0,"",0,0,0,0,0,0,0,0,"","","0","0","0","03d32164fb6ad99f173ca4b54c2d0d6638bf2a73fe69603e1f860f1b3dc3beb6:0","3400fa174b2e2fd14b5b22b03db432596c6c816b5735f6eef5aec962b3359eba:0","23e14a6d0981172e4d84c75959885332fe027ac5c61fa0597bade5446020efef:0","c5d7e961acb9db7c43b0005e225a8a30f2bbaafa9ce42c4ce5066ffc5c1ab1e4:0","d6a09e1b59b5cc6a811b7c624e725b0cfef9e486462920649823d87d13e2607c:0",{"undefined":"Not Submitted"}]}u
    https://whatsonchain.com/tx/undefined

2 Outputs

Total Output:
  • Q!qol·Œ‰°>‡´R݉üévOþÍ(X›AÿW.V‹!&´-*CÂÜFÁŒ"^wVÚÉÒñèŠe-%?‘/fBrð^!Àñ¦™~µÁ”ego¨B‰­Õüm»\P‘6‘ZÞӓ!u’¾qʧ§"ýU¶9ˆ0“ÅÉzô-å©NgµøfÓô!ï'‰C×Â*S!åLEÀË–Ü®ãÐ-ºuo§„ˆAñ‡bU®Lz{"__index":{"obj":0},"__func":"setChatId","__args":["9790b1cbee635e1f52a06c3ab9d2195b67a59b3ee55caf5c5750e325ce546251:0"]}u
    https://whatsonchain.com/tx/4e77e445bbe01ca32d67f06ca0ba0e0a7620004e52b158c315cd33838a1d401c