#0
nonstandard
0.00004000 BSV
Q!Ìâà5o&^x®Ë)¬è¶Uq±SÑ&é¹(þÍ>nâ¤Q®MÌ{"__cls":"class PositionSC {\n constructor(owner, numberOfShares = 0, dealId = '', facilityId = '', fundId = '', dateCreated = '') {\n this._owners = [owner];\n this.numberOfShares = numberOfShares;\n this.dealId = dealId\n this.facilityId = facilityId;\n this.fundId = fundId;\n this.dateCreated = dateCreated;\n }\n\n split(newNumberOfShares, dateCreated) {\n if (newNumberOfShares === this.numberOfShares) {\n return this;\n }\n if (newNumberOfShares < this.numberOfShares) {\n this.numberOfShares -= newNumberOfShares;\n return new PositionSC(this._owners[0], newNumberOfShares, this.dealId, this.facilityId, this.fundId, dateCreated);\n }\n throw new Error(`Cannot split current transaction`);\n }\n\n merge(dateCreated, ...positions) {\n try {\n if (positions.length === 0) return this;\n let sendNumberOfShares = this.numberOfShares;\n this.numberOfShares = 0;\n for (let i = 0; i < positions.length; i += 1) {\n if (positions[i].dealId !== this.dealId || positions[i].facilityId !== this.facilityId || positions[i].fundId !== this.fundId) {\n throw new Error(`Unable to merge, positions don't originate from the same facility or don't belong to the same fund`);\n }\n sendNumberOfShares += positions[i].numberOfShares;\n positions[i].numberOfShares = 0;\n }\n return new PositionSC(this._owners[0], sendNumberOfShares, this.dealId, this.facilityId, this.fundId, dateCreated);\n } catch (err) {\n throw new Error(`Unable to merge positions`);\n }\n }\n\n send(to, fundId, numberOfShares, dateCreated) {\n if (this.numberOfShares < numberOfShares) throw new Error(`Insufficient funds`);\n this.numberOfShares = this.numberOfShares - numberOfShares;\n return new PositionSC(to, numberOfShares, this.dealId, this.facilityId, fundId, dateCreated);\n }\n}","__index":{"obj":0},"__func":"constructor","__args":["0212cc1be2e0356f265e7804aecb29ace8b65571b153d126e9b928fecd3e6ee2a4",77,"e7d6bc7e2fe7c20ed8e8a0b260c306e7100ee58300c7d708d18c8fc96cfc0bc5:0","47ef4764937bbb022d5918094081b75d896f8ab195322b364c3126b3dec61ea7:0","4a9f397bca22c5818917a98a28a46abcef1a469f836799124d33944fef42a523:0","03/13/2021"]}u
https://whatsonchain.com/tx/1b016384e798967f903e2863d31d99c9d6f3c5707dbcba0cedc31e3ffecb4db6