Q!á íhT=ËB¶ò4Þ#·Tf$°{?=Ϋ!Sû3QÕèÁcºKXKz³{öäÓAêcBú:/À±!ê±Eô þ_ÏZ§óû±b9ÍãêDb®TöB5V!»UTUSiqð¯þÚ/¯K/G0 |ôÖê'!ÌÒC1¹!J·"çlì½óýR¢rD+Íolu~ÄU®MV3{"state_0":1,"state_1":3,"state_2":5,"state_3":9,"state_4":14,"state_5":18,"state_6":22,"state_7":26,"details":28,"settlementInfo":29,"keyDates":30,"fees":31,"status":32,"roles":33,"kycRequirements":34,"__cls":"class SubTradeSC {\r\n constructor(\r\n owners = [],\r\n fundFromId,\r\n fundToId,\r\n batchOrderId,\r\n subBatchOrderId,\r\n positionId,\r\n positionSellingAmount,\r\n chatId,\r\n\r\n // ======================================\r\n\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 = 0,\r\n ISIN = 0,\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 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 brokerageFeeType = '',\r\n brokerageFeeAmount = 0,\r\n brokerageRate = 0,\r\n brokerFeeWaiving = 0,\r\n internalCommission = 0,\r\n brokerId = '',\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 id: 0,\r\n title: 'Trade Submission',\r\n document: '',\r\n roles: [{ role: 'seller', type: 'doc-generate', message: 'Generate Trade Ticket', complete: false }],\r\n },\r\n {\r\n id: 1,\r\n title: 'Buyer affiliation',\r\n document: '',\r\n roles: [{ role: 'buyer', type: 'doc-generate', message: 'Please generate affiliate letter', complete: false }],\r\n },\r\n {\r\n id: 2,\r\n title: 'Trade Approval',\r\n roles: [\r\n { role: 'buyer', type: 'approval', message: 'Please approve the trade terms', complete: false },\r\n { role: 'seller', type: 'approval', message: 'Please approve the trade terms', complete: false },\r\n { role: 'trustee', type: 'approval', message: 'Please approve the trade terms', complete: false },\r\n ],\r\n },\r\n {\r\n id: 3,\r\n title: 'Approve A&A',\r\n sync: true,\r\n document: '',\r\n roles: [\r\n // seller posts a document - dialog with generate A&A button, => then doc is posted in the chat for all\r\n { role: 'seller', type: 'doc-generate', message: 'Please approve the A&A terms ... todo: change text', complete: false },\r\n { role: 'buyer', type: 'approval', message: 'Please approve the A&A terms ... todo: change text', complete: false },\r\n { role: 'seller', type: 'approval', message: 'Please approve the A&A terms ... todo: change text', complete: false },\r\n { role: 'agent', type: 'approval', message: 'Please approve the A&A terms ... todo: change text', complete: false },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n title: 'Primary Allocation Confirmation',\r\n sync: true,\r\n document: '',\r\n roles: [\r\n // seller posts a document - dialog with generate A&A button, => then doc is posted in the chat for all\r\n {\r\n role: 'seller',\r\n type: 'doc-generate',\r\n message: 'Please generate the Primary Allocation Confirmation document',\r\n complete: false,\r\n },\r\n { role: 'buyer', type: 'approval', message: 'Please approve the Primary Allocation Confirmation document', complete: false },\r\n { role: 'seller', type: 'approval', message: 'Please approve the Primary Allocation Confirmation document', complete: false },\r\n ],\r\n },\r\n {\r\n id: 5,\r\n title: 'Settlement Date Coordination',\r\n sync: true,\r\n roles: [\r\n { role: 'buyer', type: 'date', editable: true, message: 'Please establish the settlement date', complete: false },\r\n {\r\n role: 'seller',\r\n type: 'approval',\r\n message: `Please approve settlement date: {keyDates.expectedSettlementDate}`,\r\n complete: false,\r\n },\r\n {\r\n role: 'agent',\r\n type: 'approval',\r\n message: `Please approve settlement date: {keyDates.expectedSettlementDate}`,\r\n complete: false,\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n title: 'Funding memo acknowledgement',\r\n sync: true,\r\n document: '',\r\n roles: [\r\n // seller posts a document - dialog with generate A&A button, => then doc is posted in the chat for all\r\n { role: 'agent', type: 'doc-generate', message: 'Please generate the Funding Memo document', complete: false },\r\n { role: 'buyer', type: 'approval', message: 'Please approve the Funding Memo document', complete: false },\r\n { role: 'seller', type: 'approval', message: 'Please approve the Funding Memo document', complete: false },\r\n ],\r\n },\r\n {\r\n id: 7,\r\n title: 'Finalize Trade',\r\n roles: [\r\n { role: 'agent', type: 'approval', message: 'Please approve the trade to be finalized ... todo: change text', complete: false },\r\n ],\r\n },\r\n ],\r\n stateChecksum = 0\r\n // =========================================================================\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.subBatchOrderId = subBatchOrderId;\r\n this.positionId = positionId;\r\n this.positionSellingPercentage = positionSellingAmount;\r\n this.chatId = chatId;\r\n\r\n // ====================================================\r\n this.state = state;\r\n this.stateChecksum = stateChecksum;\r\n // ====================================================\r\n\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 };\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 brokerageFeeType,\r\n brokerageFeeAmount,\r\n brokerageRate,\r\n brokerFeeWaiving,\r\n internalCommission,\r\n brokerId,\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 updateState(step, role, data) {\r\n const changedStep = this.state.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\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 // logic specific to Settlement date step\r\n if (step.id === 5 && role === 'seller' && data === false) {\r\n const buyerAction = changedStep.roles.find(r => r.role === 'buyer');\r\n this.keyDates.expectedSettlementDate = '';\r\n buyerAction.complete = false;\r\n }\r\n roleAction.complete = data;\r\n break;\r\n\r\n case 'date':\r\n // Settlement date setup by buyer\r\n if (step.id === 5) {\r\n this.keyDates.expectedSettlementDate = data;\r\n roleAction.complete = true;\r\n }\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 default:\r\n break;\r\n }\r\n\r\n this.stateChecksum = this.stateChecksum + 1;\r\n }\r\n}","__index":{"obj":0},"__func":"constructor","__args":[["02e109ed0868543d0b84cb4210b6f234de23b75466248b08b0898c7b3f3dce11ab","030853fb8f3351d5e8c163ba4b58ad4b7ab37bf6e401d341ea6342fa3a932fc0b1","02eab18d4506f4a0fe5fcf5aa7f3fbb1620739cd12e3ea954462ae54f642355612","0296bb555455536971f0af97feda2f8f13af4b2f4730001e7c89f4d61612ea2704","03ccd24331b9214ab722e7996cecbdf3fd9952a272449d2bcd9c6f6c758e7ec495"],"74afadaa4fda3c1804eee1c1ae98f36c5d840e6ccb52bed1d9914cf4ee88156f:0","9595de9e897d33b6c131188a53ea6112bb416d22d54862b0ee6a680b754d03c2:0","6ab0173df78bd88f0bc94d5444a3662d4261382e989576809ba11a3a0bb8c425:0","56adedc1d857f7e63ba4888051c904113a7b2a64ef28b50651c1b9e5b40cd244:0","12e5367e60e0003e262683e21abfb752171361d3ec0a0c4a662412f17e3bf648:0",5555555,"","a1d4a40f4bdb17ad8b6b1e0aec54b3909ad320ede61fe9cf62a416ad7b9abe20:0","denis facility",0,7777,0,"871d89f07e87d7636392b18326cce10ddff75e5662acbd9147461a03f0cac764:0","Buy","Assignment","Par","6f439206ca0577491051c136a3c19327d7e5bfe8434517088a25f80e41161e15:0","Gross",0,0,"Primary","Association","Par desk to customer","LSTA","true","USD",0,0,0,0,"Tranche A",0,false,0,"false",false,0,0,"WAC","01/05/2021","01/16/2021","01/11/2021","01/26/2021","01/30/2021","01/24/2021","true",0,"Assignment Fee Type","crual Settlement Type","Delayed Comp","01/14/2021",0,0,0,"Brokerage Fee Type",0,0,0,0,"Broker Id",0,0,0,0,0,0,0,"Settlement","01/22/2021","Trade","Settlement","Dependency","3cffc70b8853268c414617827816de190c1b83d3a8a7d00876477fff98c8268f:0","6f439206ca0577491051c136a3c19327d7e5bfe8434517088a25f80e41161e15:0","3040bad8fe82efb7d2fcdfadcc4af1baf5a981d72e266da537cdf5a668803d01:0","9306d952e546264ac91e03913318f135c2e7ec58d116f09f1420430934fcc126:0","3716d8da110d8f53da6a263169070e6212e4bfb356713656c3284d4f36f32764:0",{"Passport":"Not Submitted","Financial document":"Not Submitted"}]}u
https://whatsonchain.com/tx/undefined