合同前任 vs 签署人 vs 当前

Posted

技术标签:

【中文标题】合同前任 vs 签署人 vs 当前【英文标题】:Contract Predecessor vs Signer vs Current 【发布时间】:2021-07-21 14:57:14 【问题描述】:

谁能帮我理解这三个概念之间的关系和区别?似乎context.predecessor == context.contractName 检查很常见。

【问题讨论】:

【参考方案1】:

signer - 签署初始交易的帐户。

predecessor - 进行当前合约调用的最后一个账户。

current - 合约账户。

例如,考虑合约contract.near 和用户alice.near

alice.nearcontract.near 上调用方法 foo。在 foo 的上下文中:

signer == alice.near predecessor == alice.near current == contract.near

如果一个 promise 调用另一个方法比如faa,那么它的上下文是:

signer == alice.near predecessor == contract.near current == contract.near

所以检查predecessor == currentcontext.predecessor == context.contractName 是为了确保合约是发出合约调用的账户。带有此断言的方法被认为是“私有的”,因为只有合约才能调用它,即使它是面向公众的 API 的一部分。

【讨论】:

以上是关于合同前任 vs 签署人 vs 当前的主要内容,如果未能解决你的问题,请参考以下文章

[高项]行政收尾VS合同收尾

.NET 3.5 的代码合同弄乱了 VS10 的调试器

甲方VS乙方

电子签约怎么签的?

在云上实现电子合同签署与托管,为生意保驾护航

玩转PDF贼稳,产品要做一个三方合同签署,我方了!